39

这似乎是一个简单的问题,但我在档案中找不到它。

如何扭转 htmlspecialchars 的影响?

我试过这样的事情:

$trans_tbl = get_html_translation_table (HTML_ENTITIES);
$trans_tbl = array_flip ($trans_tbl);
$html = strtr ($html, $trans_tbl);

但它没有用。有没有一种简单的方法可以做到这一点?

4

4 回答 4

79

利用htmlspecialchars_decode()

<?php
$str = "<p>this -&gt; &quot;</p>\n";

echo htmlspecialchars_decode($str);

// note that here the quotes aren't converted
echo htmlspecialchars_decode($str, ENT_NOQUOTES);
?>

参考 - PHP 官方文档

于 2012-06-29T06:46:52.430 回答
4

你需要htmlspecialchars_decode(). 请参阅有关此的 PHP 文档

$html = htmlspecialchars_decode( $html, ENT_NOQUOTES );
于 2012-06-29T06:47:00.057 回答
4

例子 :

echo htmlspecialchars_decode(htmlspecialchars('your "strange" text with characters like !"/$%?&*'))

它会回显:您的“奇怪”文本带有像 !"/$%?&* 这样的字符

这是编码/解码的示例。有用。

于 2012-08-15T16:37:11.457 回答
0

我了解,您需要htmlspecialchars_decode-Docu

于 2012-06-29T06:48:28.813 回答