如何将htmlpurifier与symfony2集成?

Mat*_*der 1 namespaces class symfony

我试图将htmlpurifier集成到symfony2控制器中,但是symfony2假设我试图实例化的类是那个不同的控制器的一部分,但它不是,它是一个包含类类型frmo htmlpurifier库.

有没有办法逃避类名,以便symfony2不在当前命名空间中查找它?

小智 6

我建议使用捆绑版本的HTMLPurifier for symfony2

你可以在gitHub上找到它:https://github.com/Exercise/HTMLPurifierBundle

使用composer安装非常简单

需要composer.json文件中的包:

{
    "require": {
         "exercise/htmlpurifier-bundle": "*",
    }
}
Run Code Online (Sandbox Code Playgroud)

安装捆绑包:

$ composer update exercise/htmlpurifier-bundle
Run Code Online (Sandbox Code Playgroud)

注册bundle app/AppKernel.php:

public function registerBundles()
    {
        return array(
            new Exercise\HTMLPurifierBundle\ExerciseHTMLPurifierBundle(),
            // ...
        );
    }
Run Code Online (Sandbox Code Playgroud)

您可以将其用作控制器中的服务:

$purifier = $this->container->get('exercise_html_purifier.default');
$clean_html = $purifier->purify($dirty_html);
Run Code Online (Sandbox Code Playgroud)

或树枝模板中的过滤器:

{{ text|purify }}
Run Code Online (Sandbox Code Playgroud)

也是symfony2表单构建器的Form Data Transformer

这些都在文档中:https://github.com/Exercise/HTMLPurifierBundle