-2

嗨,我想知道,但也许我错过了一些关于htmlspecialchars(),为什么这个函数不能替换所有这些 html 特殊字符 html 特殊字符列表

原因例如%我可以看到char没有被替换

php手册说:

 '&' (ampersand) becomes '&'
    '"' (double quote) becomes '"' when ENT_NOQUOTES is not set.
    "'" (single quote) becomes ''' only when ENT_QUOTES is set.
    '<' (less than) becomes '&lt;'
    '>' (greater than) becomes '&gt;'

那么其他字符呢?没有功能可以全部替换?

4

1 回答 1

4

该手册告诉你你需要知道的一切:

某些字符在 HTML 中具有特殊意义,如果要保留其含义,则应由 HTML 实体表示。此函数返回一个字符串,其中包含一些转换;所做的翻译对日常网络编程最有用。如果您需要翻译所有 HTML 字符实体,请htmlentities()改用。

此功能可用于防止用户提供的文本包含 HTML 标记,例如在留言板或留言簿应用程序中。

执行的翻译是:

  • ' &'(和号)变为 ' &amp;'
  • ' "' (双引号)在未设置&quot;时变为 ' ' 。ENT_NOQUOTES
  • " " (单引号)只有在设置时才'变为 ' '。&#039;ENT_QUOTES
  • ' <' (小于) 变成 ' &lt;'
  • ' >' (大于) 变成 ' &gt;'
于 2011-10-11T14:20:48.290 回答