ホームページ  >  記事  >  バックエンド開発  >  文字列に中国語の文字が含まれているかどうかを判断するための PHP の通常のメソッドの例

文字列に中国語の文字が含まれているかどうかを判断するための PHP の通常のメソッドの例

小云云
小云云オリジナル
2018-03-14 13:46:024245ブラウズ

この記事では主に、文字列に中国語の文字が含まれているかどうかを判断するための PHP の通常のメソッドの例を紹介します。

PHP 文字列に中国語の文字が含まれているかどうかを定期的に判断します

最初の方法:

if (preg_match("/[\x7f-\xff]/", $str)) {
    //echo "有中文";
}else{
    //echo "没有中文";
}

2 番目の方法:

  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

utf-8 で正規表現を使用して中国語の文字と一致させるための最終的な正しい表現を知っています。 PHP でのエンコード—— /^[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デュアルバイトコード化範囲 中国語gb2312
x80-xff 中国語 gbk

2. UTF-8 (Unicode)u4e00-u9fa5 (中国語)x3130-x318F (韓国語
xAC00-xD7A3 (韓国語)
u0800- u4e0 0(日本語)* /

関連する推奨事項:

js処理に中国語文字列を含む例の共有

php 中国語文字列インターセプト方法の例まとめ

PHPの中国語文字を含むURL関数の例の詳細説明

以上が文字列に中国語の文字が含まれているかどうかを判断するための PHP の通常のメソッドの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。