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