base64():这个函数主要对二进制数据进行切割,将二进制数据流切割成 A1(6bit = 2^6 = 64,这样子就会变成ASCII的一个子集), A2, ...,所以图片通常都有 base64 格式。base64() 还可以用来切割中文,方便中文传输,例如也会常用作邮件的编码!
urlencode():这个函数主要对一个URL进行百分号(%XX,XX是两位十六进制数,代表一个字节)编码,主要编码对象为url中的保留字符(/这些有特殊意义的字符),utf-8编码的字符需要分拆成多个字节,每个字节都进行百分号编码!一般网页的表单数据都会进行百分号编码,传输完毕以后在另外一端自动或者手动进行解码(urldecode()函数)就好!
htmlspecialchars():首先要知道HTML中有实体符这个东西,其实就是HTML中的转义字符,例如 < 表示 < 这种具有特殊字符的字面意思!注意,在 <text> 标签中能够体现出换行符和空白符的效果,如果这些换行符和空白符出现在页面上就会丧失效果,因此需要先实体化这些特殊字符,然后输出到页面上才有效果!
htmlspecialchars()能够转义的字符: & (& 符号) & " (双引号) " ' (单引号) 设置了 ENT_QUOTES 后, ' (如果是 ENT_HTML401) ,或者 ' (如果是 ENT_XML1、 ENT_XHTML 或 ENT_HTML5)。 < (小于) < > (大于) >
htmlentities():相比 htmlspecialchars() ,这个函数能够将转义所有具有HTML实体符的字符,注意是所有!
stripslashes():如果magic_quotes_gpc配置项打开了,那么接收到的表单数据(get/post/cookie)都会被转义!这时候就可能需要使用 stripslashes() 移除这些反斜杠啦!magic_quotes_gpc 这个配置项在PHP5.4已经被移除了,所以高版本默认不转义表单数据!
addslashes():如果你需要进行数据库操作,执行SQL语句,那么你需要使用这个函数对表单数据进行转义,防止SQL注入风险!
strip_tags() :去除HTML标签+PHP标签+HTML注释,后面两个标签肯定会被去除,HTML标签可以指定保留哪些!