PHP过滤只保留中文,英文以及数字的方法

过滤微信昵称/QQ昵称中的特殊字符

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

utf8编码表达式

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

非utf8编码表达式

/[\x80-\xFF]/

PHP过滤只保留中文,英文以及数字的方法

<?php
 function matchChinese($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]);
}

$str = "abc中文。,?#😘🐕%^&())*(&^";
echo matchChinese($str);  //abc中文
?>

 

 

 

 

 

 

 

 

 

 

可以解决的事情不用担心;不能解决的事情担心也没用。

 

posted @ 2021-05-11 10:19  杨宇飞  阅读(1227)  评论(1编辑  收藏  举报