htmlspecialchars()
和 htmlentities()
有什么区别。我应该什么时候使用其中一种?
最佳答案
htmlspecialchars
可以使用:
当不需要对具有其 HTML 等效项的所有字符进行编码时。
如果你知道页面编码匹配文本特殊符号,你为什么要使用htmlentities
? htmlspecialchars
非常简单,并且产生更少的代码发送给客户端。
例如:
echo htmlentities('<Il était une fois un être>.');
// Output: <Il était une fois un être>.
// ^^^^^^^^ ^^^^^^^
echo htmlspecialchars('<Il était une fois un être>.');
// Output: <Il était une fois un être>.
// ^ ^
第二个更短,如果设置了 ISO-8859-1 字符集,不会造成任何问题。
当数据将不仅仅通过浏览器进行处理(避免解码 HTML 实体)时,
如果输出是 XML(参见 the answer by Artefacto)。
https://stackoverflow.com/questions/46483/