htmlspecialchars()和htmlentities()之间有什么区别。我什么时候应该使用其中一种
htmlspecialchars可用于:
-
当不需要对所有具有HTML等价物的字符进行编码时
如果您知道页面编码与文本特殊符号匹配,为什么要使用
htmlentitieshtmlspecialchars非常简单,可以生成较少的代码发送给客户端例如:
echo htmlentities('Ilétait une fois unêtre>;'); //输出:&;书信电报;Il&;伊库特;(二);ecirc;tre&;gt;。 // ^^^^^^^^ ^^^^^^^ 回音htmlspecialchars('Ilétait une fois unêtre>;'); //输出:&;书信电报;这是我的梦想;gt;。 // ^ ^第二个较短,如果设置了ISO-8859-1字符集,则不会导致任何问题
-
当数据不仅通过浏览器处理时(避免解码HTML实体)
-
如果输出是XML(请参阅Artefactor的答案)