我有一个应用程序,我存储sting,但在发送时,我希望将特殊字符转换为HTML名称,就像<
<
一样。为了实现它,我使用php内置函数htmlspecialchars。
使用以下代码
输出具有此功能的文本$reviewTxt = htmlspecialchars($reviewTxt);
echo $reviewTxt;
现在,对于reviewTxt,我爱你&lt; 3&#39;,它应该生成I loved you <3
,但应该显示原始文本。在我的例子中,它显示编码数据I loved you <3
。我还尝试粘贴I loved you <3
而不是上面的PHP代码只是为了看看我是否可以获得原始文本,是的,它显示了“我爱你&lt; 3&#39;。
我不确定我错过了什么,
答案 0 :(得分:1)
看起来您使用htmlspecialchars()
/ htmlentities()
进行了两次编码。
这会导致第一个结果的&
符号在第二个结果中被编码,为您提供类似I loved you &lt;3
的字符串。
因此,它会显示已编码的&
,后跟字符串lt;
。