我正在尝试将 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 表单构建器的表单数据转换器
哦,刚找到。
代替
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();