ホームページ >バックエンド開発 >PHPの問題 >PHP で文字列に中国語の文字が含まれているかどうかを確認する方法

PHP で文字列に中国語の文字が含まれているかどうかを確認する方法

青灯夜游
青灯夜游オリジナル
2021-05-14 17:35:084218ブラウズ

PHP では、preg_match() 関数を正規表現とともに使用して、文字列に中国語の文字が含まれているかどうかを判断できます。構文形式は、「preg_match("/[\x7f-\xff]/", string)」です。 "; 1 が返された場合は中国語が含まれ、0 が返された場合は中国語が含まれていません。

PHP で文字列に中国語の文字が含まれているかどうかを確認する方法

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

ブラックハットがあるためSEO、SPAM (スパムメッセージ) への対処は、常に Web サイトスタッフの仕事の 1 つです。私たちを迫害するのは、スパムメッセージ大量送信機か、スパムユーザー登録機です。

文字列に中国語の文字が含まれているかどうかを判断することは、スパムに対処する方法の 1 つであり、純粋な英語のスパム メッセージを効果的に防ぐことができ、また、ユーザー登録を規制するためにも使用できます。以下のコードを見てください。gb2312 および utf-8 と互換性があります。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);
$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 "不含中文,错误输入";
}
?>

出力:

PHP で文字列に中国語の文字が含まれているかどうかを確認する方法

添付の全角文字エンコード範囲

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 サイトの他の関連記事を参照してください。

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