PHP 正则保留中文,数字,字母的方法

来自:互联网
时间:2019-10-05
阅读:

由于今天上午一个项目中,要对前台用户提交的内容进行过滤,只保留特定的字符进行分析,所以收集了一些PHP中利用正规过滤内容的小方法,整理分享一下,也许你也用得到呢。

php保留中文,php保留数字,php保留字母,php正则过滤,preg_match_all() 函数

PHP preg_match_all() 函数

在开始记录之前,我们要先了解一下 php中的 preg_match_all() 函数

preg_match_all:函数用于执行一个全局正则表达式匹配。

语法:

preg_match_all (pattern,subject,matches)

参数:

pattern:必需,要搜索的模式,字符串形式。

subject:必需,输入字符串。

matches:必需,多维数组,作为输出参数输出所有匹配结果, 数组排序通过flags指定。

PHP 正规只保留中文,数字,字母代码

正则表达式:

/[\x{4e00}-\x{9fa5}a-zA-Z0-9]/u

示例代码:

$str = '免费资源网(http://www.freexyz.cn),作者,菜鸟,建立于2016年@#&*$)@*@&*&#$';
preg_match_all('/[\x{4e00}-\x{9fa5}a-zA-Z0-9]/u',$str,$result);
echo join('',$result[0]);

输出结果:

免费资源网httpwwwfreexyzcn作者菜鸟建立于2016年

PHP 正规只保留中文

正则表达式:

/[\x{4e00}-\x{9fff}]+/u

示例代码:

$str = '免费资源网(http://www.freexyz.cn),作者,菜鸟,建立于2016年@#&*$)@*@&*&#$';
preg_match_all('/[\x{4e00}-\x{9fff}]+/u',$str,$result);
echo join('',$result[0]);

输出结果:

免费资源网作者菜鸟建立于年

PHP 正规只保留数字

正规表达式:

/\d+/

示例代码:

$str = '免费资源网(http://www.freexyz.cn),建立于2016年@#&*$)@*@&*&#$';
preg_match_all('/\d+/',$str,$result);
echo join('',$result[0]);

输出结果:

2016

PHP 正规保留字母

正则表达式:

/[a-zA-Z]+/

示例代码:

$str = '免费资源网http://www.freexyz.cn';
preg_match_all('/[a-zA-Z]+/',$str,$result);
echo join('',$result[0]);

输出结果:

httpwwwfreexyzcn

PS:补充点

1、以上测试代码,都是在 utf-8 编码下测试的,如果用的其它的类型的编码,可能会出现乱码

2、join() 函数,可以把数组元素组合为一个字符串,具体使用方法可在本站搜索

返回顶部
顶部