PHP正则匹配中文字符串
正则匹配中文汉字根据页面编码不同而略有区别
1.GBK/GB2312编码:[x80-xff]+ 或 [xa1-xff]+
2.UTF-8编码:[x{4e00}-x{9fa5}]+/u
$str = "用户名123";
//把结果放在$chinese中
//GBK/GB2312使用:
preg_match_all("/[x80-xff]+/", $str, $chinese);
//UTF-8 使用:
//preg_match_all("/[x{4e00}-x{9fa5}]+/u", $str, $chinese);
print_r($chinese);
preg_match("/[x{4e00}-x{9fa5}]+/u", $str);//匹配成功返回true,否则false
在使用UTF-8匹配的时候如果出现乱码,可以先把$str转换成utf8格式;
$str= iconv("GBK","UTF-8′,$str);
//或:
//$str= mb_convert_encoding($str,"UTF-8","GBK");
正则表达式在线生成工具
iconv 使用说明
mb_convert_encoding 使用说明
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 验证中文名字
- 下一篇: php 用正则替换中文字符一系列问题解决
