2012-02-06 11 views
0

私はポスト入力のクリーニングにHTMLPurifierを使用していますが、完全に削除する代わりに、壊れたタグや疑わしいシンボルをエスケープ(HTMLエンコード)したいと思います。私はそれをドキュメントとこのサイトで検索しましたが、運が全くありません。それでも私は何かを見逃していることを願っている。HTMLPurifier:削除する代わりに壊れたタグをエスケープする方法は?

オープニングタグは最も刺激的です。誰かが数式や比較を投稿しようとしたときに "param1 < param2"と書いて、その間にスペースを入れないと、間違ったタグの開きとして取得され、右側のすべてが完全に破棄されます。

私は[code]タグ内でhtmlspecialcharsを使用していますが、いくつかのhtmlを外部に許可して、すべてをエンコードできません。そのため、HTMLPurifierでフィルタリングしています。 あなたのアドバイスは高く評価されます。

答えて

0

%Core.AggressivelyFixLtを試してみるか、%Core.LexerImplをDirectLexに設定してみてください。これがうまくいくかどうかわかりませんが、そうでないかもしれません。

部分的な解決策は%Core.EscapeInvalidTagsを設定することです。しかしそれはかなり不完全な修正であり、テキストをマングルするかもしれません。

+0

あなたはhtmlpurifierがすばらしい仕事をしていますが、残念ながらこの設定パラメータは自分の仕事を解決しません。 私は、この方法でHTMLとコンテンツを混在させず、プレビュー/ HTMLスイッチャーでエディタを使用するか、bbcodesに固執してすべてのhtmlを削除するべきであるという結論に達しました。 –

関連する問題