htmlspecialchars()和有什么区别htmlentities()。我什么时候应该使用其中一种?
htmlspecialchars()
htmlentities()
来自htmlentities的 PHP 文档:
这个函数htmlspecialchars()在所有方面都是相同的,除了htmlentities(),所有具有 HTML 字符实体等价物的字符都被翻译成这些实体。
来自htmlspecialchars的 PHP 文档:
某些字符在 HTML 中具有特殊意义,如果要保留其含义,则应由 HTML 实体表示。该函数返回一个字符串,其中包含一些转换;所做的翻译是那些对日常网络编程最有用的。如果您需要翻译所有 HTML 字符实体,请htmlentities()改用。
不同之处在于被编码的内容。选择是一切(实体)或“特殊”字符,如与号、双引号和单引号、小于和大于(特殊字符)。
我更喜欢尽可能使用htmlspecialchars。
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>. // ^ ^