今天我安装了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();
从我的应用程序手动调用,它工作得更好。干得好我。更多信息在这里