PHP正则判断某字符串中是否包含中文字符
PHP正则判断某字符串中是否包含中文字符
第一种方法:
if (preg_match("/[x7f-xff]/", $str)) { //echo "有中文"; }else{ //echo "没有中文"; }
第二种方法:
if(preg_match ("/[x{4e00}-x{9fa5}]/u", $keyword)){ // 汉字 $where["goods_name like"] = "%".$keyword."%"; }else{ // 拼音 $where["pinyin like"] = "%".strtolower($keyword)."%"; }
网上找了很久,多数是java和js的方法,可是直接用Java和js的方法,老是报错,后来发现
给“4e00”和“9fa5”两边分别用"{"和“}”包起来,就可以了
这里要注意的是:preg_match( ) 验证中文时要增加/u
知道了php中utf-8编码下用正则表达式匹配汉字的最终正确表达式——/^[x{4e00}-x{9fa5}]+$/u,知道问题在哪里了,其他的详细规则,自己变一下就可以了
再附上一段代码
$str = "php入坑指南"; if (preg_match("/^[x{4e00}-x{9fa5}]+$/u",$str)) { print("该字符串全部是中文"); } else { print("该字符串不全部是中文"); }
另附,双字节字符编码范围
1. GBK (GB2312/GB18030)
x00-xff GBK双字节编码范围
x20-x7f ASCII
xa1-xff 中文 gb2312
x80-xff 中文 gbk
2. UTF-8 (Unicode)
u4e00-u9fa5 (中文)
x3130-x318F (韩文
xAC00-xD7A3 (韩文)
u0800-u4e00 (日文)*/
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇: yii2 命令行运行