今天我安装了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);
如果我删除了composer autoload,并引用回旧库,它就可以了。这是一个包含http://www.google.com
的字符串。但$clean
与$do
修改
显然,通过编写器下载,HTMLPURIFIER_PREFIX
常量没有被创建,并且它没有加载* .ser文件(即使它存在。这在library/HTMLPurifier/Bootstrap.php
中定义,但该文件不是不包括在任何地方(因此没有定义,因此不起作用)。
edit2 在我看来,它与Composer的搭配并不好看。它根本不包含Bootstrap.php
文件。不得不从我的应用程序手动拨打HTMLPurifier_Bootstrap::registerAutoload();
,它的效果会更好。很好的工作我。更多信息here
答案 0 :(得分:0)
如上所述,事实证明问题与Composer< - >有关。 HTMLPurifier进行交互,但未正确正确加载Bootstrap.php
文件。手动呼叫HTMLPurifier_Bootstrap::registerAutoload();
似乎已经修复了它。