PHP では、preg_match() 関数を正規表現とともに使用して、文字列に中国語の文字が含まれているかどうかを判断できます。構文形式は、「preg_match("/[\x7f-\xff]/", string)」です。 "; 1 が返された場合は中国語が含まれ、0 が返された場合は中国語が含まれていません。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
ブラックハットがあるためSEO、SPAM (スパムメッセージ) への対処は、常に Web サイトスタッフの仕事の 1 つです。私たちを迫害するのは、スパムメッセージ大量送信機か、スパムユーザー登録機です。
文字列に中国語の文字が含まれているかどうかを判断することは、スパムに対処する方法の 1 つであり、純粋な英語のスパム メッセージを効果的に防ぐことができ、また、ユーザー登録を規制するためにも使用できます。以下のコードを見てください。gb2312 および utf-8 と互換性があります。
<?php header('content-type:text/html;charset=utf-8'); $str = "测试中文"; echo $str; echo "<hr>"; //if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在GB2312情况下使用 //if (preg_match("/^[\x7f-\xff]+$/", $str)) { //兼容gb2312,utf-8 //判断字符串是否全是中文 if (preg_match("/[\x7f-\xff]/", $str)) { //判断字符串中是否有中文 echo "含有中文,正确输入"; } else { echo "不含中文,错误输入"; } ?>
出力:
添付の全角文字エンコード範囲
1. GBK (GB2312 / GB18030)
\x00-\xff GBK 2 バイトエンコード範囲
\x20-\x7f ASCII
\xa1-\xff 中国語 gb2312
\x80-\xff 中国語 gbk
2. UTF-8 (Unicode)
\u4e00-\u9fa5 (中国語)
\x3130-\x318F (韓国語)
\xAC00-\xD7A3 (韓国語)
\u0800-\u4e00 (日本語)*/
推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHP で文字列に中国語の文字が含まれているかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。