欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-17 15:50:40
...
本文介绍下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特殊字符处理函数的例子