hi我想知道,但也许我错过了一些关于htmlspecialchars()
的内容,为什么这个函数不能代替所有这些html特殊字符html特殊字符列表
例如,因为我可以看到,所以字符%
没有被替换
php手册说:
'&' (ampersand) becomes '&'
'"' (double quote) becomes '"' when ENT_NOQUOTES is not set.
"'" (single quote) becomes ''' only when ENT_QUOTES is set.
'<' (less than) becomes '<'
'>' (greater than) becomes '>'
其他字符呢?没有功能可以全部替换?
手册告诉您需要知道的一切:
某些字符在HTML中具有特殊意义,应该如果要保留其含义,则由HTML实体表示。此函数返回一个字符串,其中包含一些转换;所做的翻译对日常网络最有用编程如果您要求所有HTML字符实体翻译后,请使用
htmlentities()
此功能可用于防止用户提供的文本包含HTML标记,例如在留言板或留言簿中应用
执行的翻译为:
- "
&
"(与号(变为"&
">- 未设置
ENT_NOQUOTES
时,""
"(双引号(变为""
">- 只有当设置了
ENT_QUOTES
时,"'
"(单引号(才会变为"'
">- '
<
'(小于(变为'<
'- "
>
"(大于(变为">
">