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

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

小云云
リリース: 2023-03-21 12:04:01
オリジナル
4330 人が閲覧しました

この記事では主に、文字列に中国語の文字が含まれているかどうかを判断するための 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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート