我正在尝试将htmlpurifier集成到symfony2控制器中,但是symfony2假设我尝试实例化的类是该变量控制器的一部分,但它不是,它是一个包含类类型frmo htmlpurifier库。
有没有办法逃避类名,以便symfony2不会在当前命名空间中查找它?
答案 0 :(得分:6)
我建议在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表单构建器的Form Data Transformer
答案 1 :(得分:-1)
哦,刚刚找到它。
而不是
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();