2

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

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

4

2 回答 2

7

我建议为 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 表单构建器的表单数据转换器

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

于 2014-04-20T11:22:03.483 回答
-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();
于 2013-07-01T23:38:00.303 回答