1

今天我安装了Composer并安装了HTMLPurifier,它取代了我旧的压缩下载。这将我的版本从 4.2 移动到 4.4

此代码现在不再有效:

$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.Allowed', 'a[href|title],em,strong,b,i,s,p'); 
$config->set('AutoFormat.Linkify', true); 
$purifier = new HTMLPurifier($config);

$do = is_null($comment) ? $this->comment : $comment;
$clean = $purifier->purify($do);

debug($clean);

如果我删除作曲家自动加载,并引用回旧库,它就可以工作。这是一个包含http://www.google.com在其中的字符串。但是$clean等同于$do

编辑 显然,通过作曲家下载,HTMLPURIFIER_PREFIX没有创建常量,也没有加载 *.ser 文件(即使它存在。这是在 中定义的library/HTMLPurifier/Bootstrap.php,但该文件不包含在任何地方(因此没有定义,因此不工作)。

edit2看起来在我的情况下它与 Composer 不兼容。它根本不包括该Bootstrap.php文件。不得不HTMLPurifier_Bootstrap::registerAutoload();从我的应用程序手动调用,它工作得更好。干得好我。更多信息在这里

4

1 回答 1

0

事实证明,正如我上面所说,问题与 Composer <-> HTMLPurifier 交互有关,并且没有正确加载Bootstrap.php文件。手动调用HTMLPurifier_Bootstrap::registerAutoload();现在似乎已经修复了它。

于 2012-12-09T12:05:55.130 回答