php正则过滤特殊字符的方法

发布时间:2019-08-05编辑:脚本学堂
本文介绍下php编程中正则过滤特殊字符的方法,有需要的朋友参考下。

在php中用正则表达式过滤特殊字符,可以使用函数preg_quote:
string preg_quote( string $str[, string $delimiter] )

找出$str字符串中出现的属于正则表达式的特殊字符,并在改特殊字符前面加上一个反斜线。

可以提供一个可选的$delimiter字符串参数作为新增的转义字符集合。

正则表达式的特殊字符包括: . + * ? [ ^ ] $ ( ) { } = ! < > | : 。

string addslashes( string $str )

在要写入到数据库的字符串中的特殊字符上添加反斜线,这些字符有单引号(‘)、双引号(“)、反斜线()与NULL(NULL字符)。

当php.ini的指令magic_quote_gpc = On时,意味着当写入数据到数据库时,数据中的特殊字符会自动加上一个反斜线。可以使用get_magic_quotes_gpc()函数进行检测magic_quote_gpc是否打开。PHP官方建议将magic_quote_gpc的值设为Off,因为这个配置的打开可能带来一定的安全问题,最好以手工的方式对写入到数据库的数据进行处理。

string addcslashes( string $str, string $charlist )

以C语言的风格转义字符串。$charlist参数提供给函数一个需要转义的字符集,也就是说,你可以把想要转义的字符提供给$charlist字符串参数。如果要转义a到z之间的所有英文字母,可以以a..z的形式书写参数。使用该函数的时候要注意C语言中预定义的转义序列。

php过滤特殊字符实用函数
php表单提交特殊字符过滤方法
html特殊字符过滤php类
url链接中特殊字符转义方法
php特殊字符转义详解
php过滤参数特殊字符防注入
php 过滤非法与特殊字符串的方法
php特殊字符处理函数的例子