Maison >développement back-end >tutoriel php >php正则过滤特殊字符的方法

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

WBOY
WBOYoriginal
2016-07-25 08:54:062890parcourir
本文介绍下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特殊字符处理函数的例子



Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn