PHP正規判斷字串中是否包含中文字元的方法實例

小云云
發布: 2023-03-21 12:04:01
原創
4318 人瀏覽過

本文主要和大家分享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 (日文)*/

######相關推薦:#########js處理包含中文字串實例分享#### ########php中文字串截取方法實例總結############php中解析帶有中文字元的url函數實例詳解######

以上是PHP正規判斷字串中是否包含中文字元的方法實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板