php中的htmlspecialchars无法解码

时间:2014-11-19 20:44:49

标签: php html

我有一个应用程序,我存储sting,但在发送时,我希望将特殊字符转换为HTML名称,就像< &lt一样。为了实现它,我使用php内置函数htmlspecialchars。

使用以下代码

输出具有此功能的文本
$reviewTxt = htmlspecialchars($reviewTxt);
echo $reviewTxt; 

现在,对于reviewTxt,我爱你&lt; 3&#39;,它应该生成I loved you &lt;3,但应该显示原始文本。在我的例子中,它显示编码数据I loved you &lt;3。我还尝试粘贴I loved you &lt;3而不是上面的PHP代码只是为了看看我是否可以获得原始文本,是的,它显示了“我爱你&lt; 3&#39;。

我不确定我错过了什么,

1 个答案:

答案 0 :(得分:1)

看起来您使用htmlspecialchars() / htmlentities()进行了两次编码。

这会导致第一个结果的&符号在第二个结果中被编码,为您提供类似I loved you &amp;lt;3的字符串。

因此,它会显示已编码的&,后跟字符串lt;