这可能看起来像一个简单的问题,但我在存档中找不到它。
如何撤销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官方文档
例子:
echo htmlspecialchars_decode(htmlspecialchars('your "strange" text with characters like !"/$%?&*'))
它将回显:
您的“奇怪”文本,其中包含诸如!“/$ %? & *之类的字符。
这是一种编码/解码的示例。它有效地工作。
htmlspecialchars()
的该部分。 - Manuel