5

これは簡単な質問ですが、私は初心者なので、私の単純な質問を許してください。

FILTER_SANITIZE_SPECIAL_CHARS フィルターの効果を元に戻す簡単な方法はありますか? そうでない場合、どのようにそれを元に戻しますか。正規表現を言うだけでなく、実際にその方法を提案してください。明確にするために、私は文字列を逆にするつもりはありません。

私がやりたいことを説明するのに役立つサンプルコードを次に示します。

/*** a string with tags ***/
$string = "<li><script>!@#$%^&*\n\'#foo</script><br><p /><li />";

/*** sanitize the string ***/
$x = filter_var($string, FILTER_SANITIZE_SPECIAL_CHARS);
echo $x . "<br>\n";

/*** I want this to output <li><script>!@#$%^&*\n\'#foo</script><br><p /><li /> ***/
echo htmlspecialchars_decode($x);
/*** instead it outputs: &#60;li&#62;&#60;script&#62;!@#$%^&#38;*&#10;\&#39;#foo&#60;/script&#62;&#60;br&#62;&#60;p /&#62;&#60;li /&#62; ***/

すべてのアイデアは高く評価されます。前もって感謝します。

4

1 に答える 1

3

html_entity_decode()のより包括的なバージョンである を考えてみましょうhtmlspecialchars_decode()

于 2012-05-20T04:56:56.770 に答える