php中htmlentities和htmlspecialchars的区别

htmlentities()和htmlspecialchars()这两个函数的功能都是转换字符为HTML字符编码(html编码),特别是url和代码字符串,防止字符标记被浏览器执行。

htmlentities转换所有的html标记,

htmlspecialchars只转换<、>、'、''、&这几个特殊符号。


htmlentities中文乱码的解决:

htmlentities($str,ENT_QUOTES,'utf-8')    

说明:

(1)跟页面的编码要一致。

(2)

ENT_COMPAT为只转换双引号,缺省值;

ENT_QUOTES为单引号和双引号都要转换;

ENT_NOQUOTES为单引号和双引号都不转换。


htmlentities()对应的html解码:html_entity_decode()

htmlspecialchars()对应的html解码:htmlspecialchars_decode()