入力が純粋な数字、英語、漢字などであるかどうかを判断します。
リリース: 2016-07-25 09:11:39
PHPのmb_strlen関数やstrlen関数を使うと文字列の構造を簡単に知ることができます。
それはすべて英語ですか、英語と中国語の混合ですか、それとも純粋な漢字ですか。簡単に説明すると以下の通りです(上記サンプルプログラム)
1. strlen によって返された文字の長さが、現在のエンコーディングに基づいて mb_strlen によって計算された長さと同じである場合。
Zhizhi、純粋な英語の文字列であると判断できます。
2. strlen によって返された文字の長さが、現在のエンコーディングに基づいて mb_strlen によって計算された長さと一致しない場合、
そして、strlen の戻り値は mb_strlen の戻り値と等しく、結果は 0 となり、すべて漢字の文字列であると判断できます。
3. strlen によって返された文字の長さが、現在のエンコーディングに基づいて mb_strlen によって計算された長さと一致しない場合、
そして、mb_strlen の戻り値の余り以降の strlen の戻り値が 0 ではないので、英語と中国語の混合文字列であると判断できます。
/********- 入力が純粋な数字なのか、英語なのか、漢字なのかを判断します
- PHPのmb_strlen関数とstrlen関数を使うと、文字列の構成が簡単に分かります
- それがすべて英語なのか、英語が混在しているのかおよび中国語、または純粋な漢字。簡単に説明すると以下の通りです(上記サンプルプログラム)
- 1. strlen で返される文字長が、現在のエンコーディングに基づいて mb_strlen で計算された長さと一致する場合、純粋な英語文字列であると判断できます。
- 2. strlen が返す文字長が、現在のエンコーディングに基づいて mb_strlen が計算した長さと矛盾しており、
- strlen の戻り値の余りと mb_strlen の戻り値が 0 の場合、すべての漢字の文字列。
- 3. strlen が返す文字長が、現在のエンコーディングに基づいて mb_strlen が計算した長さと矛盾しており、
- mb_strlen の戻り値の余り以降の strlen の戻り値が 0 でない場合、英語と中国語が混在した文字列。
- *
- * ****************/
- $str = "456abc";
- $x = mb_strlen($str,'gb2312'); "-----456abc----
"; - echo "$x".'
' - echo "$y".'
'; - $str = "456私は中国人です
";
- $x = mb_strlen($str,'gb2312');
- $y = strlen($str);私は中国人の abc です----
";
- echo "$x".'
'; echo "$y".' ';
- $str = "私は中国人であり、祖国を愛しています";
- $x = mb_strlen($str,'gb2312')
- $y = strlen($str);私の祖国----
"; echo "$x".' ';
- echo "$y".'
'; $str = "私";
- $x = mb_strlen($str,'gb2312');
- $y = strlen($str);
- echo "------私----
"; echo " $x".' ';
- echo "$y".'
';
- $str = "我ab";
- $x = mb_strlen($str,' gb2312' );
- $y = strlen($str);
- echo "------私は----
"; 「$y」をエコーします。'
- ?>
-
-
- コードをコピーします
-
-
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31