0

ユーザーが HTML タグを配置できる入力テキスト領域で HTMLPurifier を使用しています。設定はデフォルトです:

        $config = HTMLPurifier_Config::createDefault();
        $purifier = new HTMLPurifier($config);
        $_POST['txt'] = $purifier->purify($_POST['txt']);

私が得ている問題は、ユーザーが>テキストに何かを入れたときです。たとえば、次のようになります。

<p>Some text > other text </p>

これは次のように変換されます。

<p>Some text &gt; other text </p>

その変換を停止する方法はありますか? 気づかないことをせずに:

$_POST['txt'] = str_replace('&gt;','>',$_POST['txt']);
4

2 に答える 2

1

この変換が行われない場合、HTMLは無効になります。それが必要な場合は、そのための構成オプションがあるかもしれません。

于 2012-12-21T06:26:49.390 に答える
1

&gt;おそらくあなたはhtmlの特殊文字を知っているでしょう>。ブラウザはすべてを正しくレンダリングします。

htmlspecialchars_decodeを使用して、すべての特殊文字を元の値にデコードしてみることができます。

于 2012-12-21T01:57:34.213 に答える