php中字符转移函数如下:
1、htmlspecialchars和htmlentities
1)htmlspecialchars:将 与、单双引号、大于和小于号转换成 html格式;
echo htmlspecialchars("fd_sa%fda'fds\afd&fgjhou>nbb<c");=>fd_sa%fda'fds\afd&fgjhou>nbb<c
2)htmlentities:所有字符都转成html格式;
2、addslashes和 addcslashes、stripslashes
1)addslashes:被改的字符包括单引号,双引号,反斜杠backslash以及空字符Null。(增加反斜杠\ )
echo addslashes("fd_sa%fda'fds\a");=>fd_sa%fda\'fds\\a
2)addcslashes(str,chararcters):是在指定的字符前添加反斜杠。
echo addcslashes("fd_sa%fda'fds\a","%'");=>fd_sa\%fda\'fds\a
3)stripslashes():去掉反斜杠。
3、mysql_real_escape_string和mysql_escape_string
1)mysql_real_escape_string:
echo mysql_real_escape_string("fd_sa%fda'fds\a");=>fd_sa%fda\'fds\\a
没有对%和_进行转义 。
2)mysql_escape_string:
4、rawurlencode、rawurldecode、urlencode、urldecode、base64_encode和base64_decode
1)rawurlencode、urlencode:
echo urlencode('中文:/?= &#');echo "<br/>"; =>%D6%D0%CE%C4%3A%2F%3F%3D+%26%23
echo rawurlencode('中文:/?= &#');echo "<br/>";=>%D6%D0%CE%C4%3A%2F%3F%3D%20%26%23
只有空格不同,一个是+,另一个是%20.
2)rawurldecode、urldecode:
3)base64_encode、base64_decode:
5、nl2br():将换行转成<br>。
6、strip_tags:去掉html及php标记,去掉字符串中任何html标记和php标记。
echo strip_tags("dfdfdfd<html></head><dfdfd>");=>dfdfdfd
7、quotemeta:加入应用符号:将字符串中含有 . \\ + * ? [ ^ ] ( $ )等字符的前面加入反斜线 "\" 符号。
echo quotemeta("df.ds\l+cx*ve?r[sd]k(jf)sd$fdc");=>df\.ds\\l\+cx\*ve\?r\[sd\]k\(jf\)sd