我正在建立一个小论坛,当我发表评论时就遇到了这个问题。其中有<
,然后htmlspecialchars将其转换为>
。 link到论坛(这是丹麦语,但你应该可以使用它)。
答案 0 :(得分:0)
如果你想在评论中允许特殊字符(在我看来,这对于像“评论”这样的一般字段是正确的),那么当字段内容为<时,你应该只担心特殊字符strong>编写到一些潜在的“危险”环境:SQL代码,HTML,JavaScript甚至日志文件。这些情境中的每一个都有其自身的危害,因此“引用”因人而异。
如果您想要显示对用户的评论时对HTML应用特殊字符过滤,则转换为“&lt;”到>
正是你想要的。当浏览器将评论文本解析为HTML页面的一部分时,>
将转换为“&lt;”屏幕上的字形。
如果您在撰写 评论和时执行转换,则最终会出现双重编码错误:“&amp;” >
中的字符本身会转换为&
。因此,浏览器会看到字符串&gt;
,这会导致它在屏幕上显示>
。