php utf-8正则匹配汉字,php utf-8编码 正则匹配中文
生活随笔
收集整理的這篇文章主要介紹了
php utf-8正则匹配汉字,php utf-8编码 正则匹配中文
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先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編碼
總結
以上是生活随笔為你收集整理的php utf-8正则匹配汉字,php utf-8编码 正则匹配中文的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html表格统计平均成绩,使用R中的da
- 下一篇: IDEA创建maven项目报错Error