Class 如何将htmlpurifier与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

我试图将htmlpurifier集成到symfony2控制器中,但symfony2假设我试图实例化的类是该Variy控制器的一部分,但事实并非如此,它是htmlpurifier库中包含的类类型frmo

有没有办法转义类名,以便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();

我建议对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将其注入控制器您还可以使用现有的捆绑包: