这似乎是一个简单的问题,但我在档案中找不到它。
如何扭转 htmlspecialchars 的影响?
我试过这样的事情:
$trans_tbl = get_html_translation_table (HTML_ENTITIES);
$trans_tbl = array_flip ($trans_tbl);
$html = strtr ($html, $trans_tbl);
但它没有用。有没有一种简单的方法可以做到这一点?
这似乎是一个简单的问题,但我在档案中找不到它。
如何扭转 htmlspecialchars 的影响?
我试过这样的事情:
$trans_tbl = get_html_translation_table (HTML_ENTITIES);
$trans_tbl = array_flip ($trans_tbl);
$html = strtr ($html, $trans_tbl);
但它没有用。有没有一种简单的方法可以做到这一点?
利用htmlspecialchars_decode()
<?php
$str = "<p>this -> "</p>\n";
echo htmlspecialchars_decode($str);
// note that here the quotes aren't converted
echo htmlspecialchars_decode($str, ENT_NOQUOTES);
?>
参考 - PHP 官方文档
你需要htmlspecialchars_decode()
. 请参阅有关此的 PHP 文档。
$html = htmlspecialchars_decode( $html, ENT_NOQUOTES );
例子 :
echo htmlspecialchars_decode(htmlspecialchars('your "strange" text with characters like !"/$%?&*'))
它会回显:您的“奇怪”文本带有像 !"/$%?&* 这样的字符
这是编码/解码的示例。有用。
据我了解,您需要htmlspecialchars_decode
-Docu