htmlpurifier を symfony2 コントローラーに統合しようとしていますが、symfony2 は、インスタンス化しようとしているクラスがその変動コントローラーの一部であると想定していますが、そうではなく、htmlpurifier ライブラリーから含まれているクラス型です。
クラス名をエスケープして、symfony2 が現在の名前空間で検索しないようにする方法はありますか?
htmlpurifier を symfony2 コントローラーに統合しようとしていますが、symfony2 は、インスタンス化しようとしているクラスがその変動コントローラーの一部であると想定していますが、そうではなく、htmlpurifier ライブラリーから含まれているクラス型です。
クラス名をエスケープして、symfony2 が現在の名前空間で検索しないようにする方法はありますか?
symfony2 用の HTMLPurifier のバンドル バージョンを使用することをお勧めします。
gitHub で見つけることができます: https://github.com/Exercise/HTMLPurifierBundle
composerでインストールするのはとても簡単です
composer.json ファイルでバンドルを要求します。
{
"require": {
"exercise/htmlpurifier-bundle": "*",
}
}
バンドルをインストールします。
$ composer update exercise/htmlpurifier-bundle
バンドル app/AppKernel.php を登録します。
public function registerBundles()
{
return array(
new Exercise\HTMLPurifierBundle\ExerciseHTMLPurifierBundle(),
// ...
);
}
コントローラーでサービスとして使用できます。
$purifier = $this->container->get('exercise_html_purifier.default');
$clean_html = $purifier->purify($dirty_html);
または小枝テンプレートのフィルター:
{{ text|purify }}
symfony2 フォームビルダー用のフォームデータトランスフォーマーでもあります
それはすべてドキュメントにあります: https://github.com/Exercise/HTMLPurifierBundle
あ、たまたま見つけた。
それ以外の
require_once dirname('_FILE_') . '/plugins/htmlpurifier/library/HTMLPurifier.auto.php';
$purifier = new HTMLPurifier();
クラス名の先頭にバックスラッシュを付ける必要があります
require_once dirname('_FILE_') . '/plugins/htmlpurifier/library/HTMLPurifier.auto.php';
$purifier = new \HTMLPurifier();