今天在开发一个关于QQ号登录的功能时,发现获取的QQ号昵称中有的带有一些特殊的字符 。而这些带有特殊字符的昵称在其它功能中调用时会发生一些判断错误,所以就写了一个过滤的正规表达式,用来过滤昵称中的特殊字符,只保留中文,英文以及数字 。
![php过滤只保留中文,英文以及数字的方法](http://img.jiangsulong.com/220405/1606203936-0.jpg)
文章插图
php只保留中文,英文以及数字的正则表达式utf8编码表达式
/[\x{4e00}-\x{9fa5}a-zA-Z0-9]/u非utf8编码表达式
/[\x80-\xFF]/PHP过滤只保留中文,英文以及数字的方法以面已经给出的过滤规则的正则表达式,我们可以利用正则表达式编写一个函数,用于过滤字符串中的特殊字符,只保留中文,英文以及数字三种类型的字符串 。
函数如下:
<?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
【php过滤只保留中文,英文以及数字的方法】
推荐阅读
- 龙抬头只有男的剪头发吗
- 最小的蚊子叫什么 蚊子有多少只
- 秋季怎么补水?不能只做表面功夫 要内外兼修
- OPPO手机的语音唤醒功能如何打开?很简单,只需要这样操作
- 炸鸡块的热量是多少大卡 一只炸鸡热量多少卡
- 肯德基早上只有早餐吗 肯德基早餐时间可以点别的吗
- 飞猪旅行集市怎么开 飞猪集市入驻
- 世界上花期最短的花,只有30分钟左右,它叫什么?
- 梦见自己眼睛坏了一只空了 梦见自己眼睛坏了一只是什么意思
- 坐长途火车时,最适合带的4种“干粮”,不要只知道泡面