如何将htmlpurifier与symfony2集成?

时间:2013-07-01 23:36:23

标签: class symfony namespaces

我正在尝试将htmlpurifier集成到symfony2控制器中,但是symfony2假设我尝试实例化的类是该变量控制器的一部分,但它不是,它是一个包含类类型frmo htmlpurifier库。

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

2 个答案:

答案 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

全部在文档中:https://github.com/Exercise/HTMLPurifierBundle

答案 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();