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);

composer autoload を削除し、古いライブラリを参照すると、機能します。これは、http://www.google.comそれに含まれる文字列にあります。しかし$clean、同じです$do

編集 どうやら、composer を介してダウンロードすると、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 に答える