この記事では主に、文字列に中国語の文字が含まれているかどうかを判断するための 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」の両側をそれぞれ「{」と「}」で囲むと、うまくいくことがわかりました。
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(日本語)* /
関連する推奨事項:
以上が文字列に中国語の文字が含まれているかどうかを判断するための PHP の通常のメソッドの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。