Class 如何将htmlpurifier与symfony2集成?
我试图将htmlpurifier集成到symfony2控制器中,但symfony2假设我试图实例化的类是该Variy控制器的一部分,但事实并非如此,它是htmlpurifier库中包含的类类型frmo 有没有办法转义类名,以便symfony2不会在当前名称空间中查找它?哦,刚刚找到了它 而不是Class 如何将htmlpurifier与symfony2集成?,class,symfony,namespaces,Class,Symfony,Namespaces,我试图将htmlpurifier集成到symfony2控制器中,但symfony2假设我试图实例化的类是该Variy控制器的一部分,但事实并非如此,它是htmlpurifier库中包含的类类型frmo 有没有办法转义类名,以便symfony2不会在当前名称空间中查找它?哦,刚刚找到了它 而不是 require_once dirname('_FILE_') . '/plugins/htmlpurifier/library/HTMLPurifier.auto.php'; $purifier = ne
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();
我建议对symfony2使用HTMLPurifier的捆绑版本 您可以在gitHub上找到它: 使用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表单生成器的
这些都在文档中:只是一个建议,symfony2的方法是将HTMLPurifier设置为一个服务,然后使用DI将其注入控制器您还可以使用现有的捆绑包: