PHP对表单提交特殊字符的过滤和处理

函数名,释义,介绍htmlspecialchars函数将与,单双引号,大于和小于号化成HTML格式和转成,放大器;,
“转成,“
'转成,# 039;
& lt;转成,lt;
在转成,gt; htmlentities()所有字符都转成HTML格式除上面:字符外,还包括双字节字符显示成编码等。


addslashes单双引号,反斜线及零加上反斜线转义被改的字符包括单引号('),双引号(“),反斜线反斜杠(/)以及空字符NULL.stripslashes去掉反斜线字符去掉字符串中的反斜线字符。若是连续二个反斜线,则去掉一个,留下一个。若只有一个反斜线,就直接去掉。


quotemeta加入引用符号将字符串中含有。//+ * ?[^]($)等字符的前面加入反斜线“/狈?nl2br()将换行字符转成& lt; br>
strip_tags去掉HTML及PHP标记去掉字符串中任何HTML标记和PHP标记,包括标记封堵之间的内容。注意如果字符串HTML及PHP标签存在错误,也会返回错误.mysql_real_escape_string转义SQL字符串中的特殊字符转义/x00 /n /r 空格,/,”,“/x1a,针对多字节字符处理很有效.mysql_real_escape_string会判断字符集,mysql_escape_string则不用考虑。http://blog.csdn.net/jianglei421/article/details/5460810

一般我是这样使用的:








额外:

在magic_quotes_gpc=上的情况下,如果输入的数据有

单引号('),双引号(“),反斜线()与空(NULL字符)等字符都会被加上反斜线。这些转义是必须的,如果这个选项为,那么我们就必须调用addslashes这个函数来为字符串增加转义。

正是因为这个选项必须为,但是又让用户进行配置的矛盾,在PHP6中删除了这个选项,一切的编程都需要在magic_quotes_gpc=从下进行了。在这样的环境下如果不对用户的数据进行转义,后果不仅仅是程序错误而已了。同样的会引起数据库被注入* * *的危险。所以从现在开始大家都不要再依赖这个设置在了为,以免有一天你的服务器需要更新到PHP6而导致你的程序不能正常工作。

PHP对表单提交特殊字符的过滤和处理