今天在开发一个关于QQ号登录的功能时,发现获取的QQ号昵称中有的带有一些特殊的字符。而这些带有特殊字符的昵称在其它功能中调用时会发生一些判断错误,所以就写了一个过滤的正规表达式,用来过滤昵称中的特殊字符,只保留中文,英文以及数字。

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

utf8编码表达式

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

非utf8编码表达式

/[\x80-\xFF]/

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

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

函数如下:

function 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]);

}

?>

调用方法:

$str = "feiniaomy.com?墨初。zblog,?#$%^&())*(&^";

echo match_chinese($str);

?>

输出结果:

feiniaomycom墨初zblog

php从一个字符串中过滤掉英文,php过滤只保留中文,英文以及数字的方法相关推荐

  1. php从一个字符串中过滤掉英文,php过滤英文字符

    img符合一下三个条件的 下面好像是四个条件啊.######那就是四个.###### 第2个条件单纯一个正则表达式解决不了,需要用脚本来解决. 1,3,4条件可以用正则解决. ######你还是用代码 ...

  2. 从一个字符串中剔除连续的字符,只留一个。

    有两种解决方法. 第一种,从前往后遍历,如果后面的字符与当前的字符相同,就直接跳过,如果不相同,就停止.代码如下: private String doFilter(String text) {Stri ...

  3. 【Python】对一个字符串中的所有英文字母进行排序

    题目 对一个字符串中的所有英文字母进行排序 栗子 字符串 a = 'hello word' 排序后结果: ['d', 'e', 'h', 'l', 'l', 'o', 'o', 'r', 'w'] c ...

  4. C语言函数sscanf:从一个字符串中读进与指定格式相符的数据

    转载自:http://www.aiseminar.cn/html/07/t-407.html C的split string函数--sscanf sscanf 名称: sscanf() - 从一个字符串 ...

  5. c语言两字符串转数字后相加,一个觉得很难的C语言问题。对两个数字字符串相加。 C语言 如何把一个字符串中相连的两个数字转化为一......

    导航:网站首页 > 一个觉得很难的C语言问题.对两个数字字符串相加. C语言 如何把一个字符串中相连的两个数字转化为一... 一个觉得很难的C语言问题.对两个数字字符串相加. C语言 如何把一个 ...

  6. LeetCode 1910. 删除一个字符串中所有出现的给定子字符串

    文章目录 1. 题目 2. 解题 1. 题目 给你两个字符串 s 和 part ,请你对 s 反复执行以下操作直到 所有 子字符串 part 都被删除: 找到 s 中 最左边 的子字符串 part , ...

  7. 求一个字符串中连续出现的次数最多的子串

    求一个字符串中连续出现的次数最多的子串.例如字符串"abababc",最多连续出现的为ab,连续出现三次.要和求一个字符串中的最长重复子串区分开来,还是上面的字符串,那么最长的重复 ...

  8. Java:判断一个字符串中是否存在另一个字符子串以及判断一个字符串中是否存在指定字符

    Java:判断一个字符串中包含指定字符子串,判断一个字符串中存在指定字符 字符串的contains方法可以判断一个字符串中是否存在另一个字符子串,示例如下 String Str = "Hel ...

  9. 编写程序,统计一个长度为2的字符串在另一个字符串中出现的次数

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p137 习题5 4.统计一个长度为2的字符串在另一个字符串中出现的次数.例如,假定输入的字符串为:as ...

最新文章

  1. 哪个版本python适用于windows-何种版本的Python适合您
  2. VS2010编译安装OpenCV2.4.3
  3. 查看git当前tag_同学,也该学着用Git了......
  4. android连接此设备时打开,QtScrcpy: Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限...
  5. Net-Snmp安装配置
  6. 函数无法识别_IF函数初级用法之一
  7. ACM 学习笔记(三) 数学入门
  8. 免费JSON格式的服务接口
  9. IDE工具(17) eclipse创建ftl文件具体步骤
  10. 2022NISCTF--web
  11. 分布式定时任务Spring Boot + Quartz实现
  12. 校园外卖系统 - 「农职邦」微信原生云开发小程序
  13. http中各个状态码的含义
  14. TMC4671基于硬件FOC伺服电机控制芯片适应BLDC/PMSM、两相步进、直流有刷、音圈电机
  15. 《淘宝技术这十年》读书笔记 (四). 分布式时代和中间件
  16. AndroidStudio更改SDK路径以及AVD模拟器路径
  17. STM32学习笔记--DAC
  18. 【史纲】绪论、第一章、第二章部分 (戊戊维新之前)
  19. 【vue】vue中下载文件的方法
  20. mosquitto -- 权限配置

热门文章

  1. Java程序员如何月薪达到两万,需要技术水平达到什么程度?
  2. @Param注解的用法
  3. IPFS创始人Juan Benet讲解FileCoin各大应用
  4. linux关闭笔记本自带键盘
  5. 5G+工业互联网发展探讨
  6. tp5.0 think-queue 消息队列
  7. 固态硬盘坏了 安装到里面的软件无法卸载也无法安装
  8. CHAPTER 2 Docker镜像
  9. 2022年最新美股上市SaaS公司前50名排行榜单
  10. 网页服务器转化app,无需第三方软件,网页在线转换视频格式使用教程