PHP只保留中文,英文以及数字的正则表达式

utf8编码表达式

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

非utf8编码表达式

/[\x80-\xFF]/PHP过滤只保留中文,英文以及数字的方法

以面已经给出的过滤规则的正则表达式,我们可以利用正则表达式编写一个函数,用于过滤字符串中的分外字符,只保留中文,英文以及数字三种类型的字符串。

php过滤中文php过滤只保存中文英文以及数字的办法 SQL

函数如下:

<?phpfunction match_chinese($chars,$encoding='utf8'){ $pattern =($encoding=='utf8')?'/[\x{4e00}-\x{9fa5}a-zA-Z0-9]/u':'/[\x80-\xFF]/'; preg_match_all($pattern,$chars,$result); return join('',$result[0]);}?>

调用方法:

<?php$str = \"大众feiniaomy.com?墨初。
zblog,?#$%^&())(&^\"大众;echo match_chinese($str);?>

输出结果:

feiniaomycom墨初zblog