php utf-8编码 正则匹配中文

简介: 首先unicode里面 中文的区域的0x4e00-0x9fa5在java或者js这种已unicode编码处理字符串的编程语言中/^[\u4e00-\u9fa5]+$/就可以判断一个字符串是否全部为中文那么php...

首先unicode里面 中文的区域的0x4e00-0x9fa5
在java或者js这种已unicode编码处理字符串的编程语言中
/^[\u4e00-\u9fa5]+$/就可以判断一个字符串是否全部为中文

那么php中 字符的编码根据页面而定
页面是gbk的 字符编码就是gbk的 utf-8也同理
之前有一个表达式 “/^[\x80-\xff]+$/”
仅仅可以匹配是否含有非ascll字符
而汉字只是其中一个比较小的区域 不太精确

由于我的页面编码是utf-8的
于是把js的表达式搬到php中来
提示PCRE不支持”\u”和其他乱七八糟的一大堆东西

后来查资料了解到 php的正则有一种叫做字符组的东西
用\x{…}表示
于是把表达式改成”/^[\x{4e00}-\x{9fa5}]+$/”
又提示”\x”表达式后的数字太大

又查了资料 了解到可以使用修正模式”u” 让程序把后面当成unicode字符处理
于是改成了”/^[\x{4e00}-\x{9fa5}]+$/u” 测试成功

所以php下正则匹配中文的表达式是 “/^[\x{4e00}-\x{9fa5}]+$/u”
这个仅适用于utf-8编码

相关文章
|
1月前
|
JSON JavaScript PHP
PHP把unicode编码的json字符串转中文
PHP把unicode编码的json字符串转中文
13 0
|
9月前
|
定位技术 PHP 数据格式
php通过地址获得百度地图经纬度(逆地理编码)
php通过地址获得百度地图经纬度(逆地理编码)
59 0
|
9月前
|
JavaScript PHP 数据安全/隐私保护
解决php中字符串输出一样但比较不相等(编码不同导致长度不一样)
解决php中字符串输出一样但比较不相等(编码不同导致长度不一样)
108 0
|
11月前
|
PHP
PHP正则匹配中文
PHP正则匹配中文
|
11月前
|
PHP 数据安全/隐私保护
php base64不能解码_PHP base64编码后解码乱码的解决办法
php base64不能解码_PHP base64编码后解码乱码的解决办法
350 0
|
JSON PHP 数据库
PHP:Laravel cast array json数据存数据库时unicode 编码问题和update更新不触发数据转换
PHP:Laravel cast array json数据存数据库时unicode 编码问题和update更新不触发数据转换
104 0
|
网络协议 编译器 PHP
php中的进制和编码
字符串在线转2进制 工具 由于计算机是MG发明的,一开始的映射表是ASSIC码,用一个字节(8位)表示一个符号或者字母 比如小写字母a对应的是97 相应的2进制为01100001 8个位的2进制最大值是11111111 所以当它不够用之后,就出现了双字节字符集
116 0
php中的进制和编码
|
应用服务中间件 PHP nginx
php实现img转ASCII编码图片
php实现img转ASCII编码图片
87 0
php实现img转ASCII编码图片