- $strarray[1] = "hello";
- $strarray[3] = "123hello";
- $strarray[4] = "スクリプト スクール";
- $strarray[5] = "123 プログラマーの家";
- $strarray[6] = "こんにちはプログラマーの家";
- $strarray[7] = "123 ハロー プログラマーの家";
-
- foreach ($strarray として$key->$value)
- {
- $x = mb_strlen($value,'gb2312');
-
- echo $strarray[$key]; "color: #ff0000;">'.$x.' '.$y.'?>
-
-
- コードをコピー
-
-
操作結果:
こんにちは、5 5
123456 6 6
123こんにちは8 8
プログラマーズ ホーム 2 4
123 プログラマの家 5 7
こんにちはプログラマー ホーム 7 9
123hello プログラマのホーム 10 12
PHP には、文字列が純粋な英語なのか、純粋な中国語なのか、それとも中国語と英語の混合なのかを判断する直接的な関数はありません。この関数は自分で書くしかありません。この機能を実現するには、文字セットの中国語の文字エンコーディングの占有率を理解する必要があります。現在、中国で最も一般的に使用されている文字セットは UTF8 と GBK です。
UTF8 の各漢字は 3 つの長さに等しい。
GBK の各漢字は 2 つの長さに等しいです。
上記の中国語と英語の違いを利用して、mb_strlen 関数と strlen 関数を使用して 2 組の長さの数値をそれぞれ計算し、規則に従って演算を実行して文字列の型を決定できます。
UTF-8の例
/** * PHP は、文字列が純粋な中国語文字であるか、純粋な英語であるか、または中国語と英語の混合であるかを判断します */ echo ''
- function utf8_str($str){
- $mb = mb_strlen ($str,'utf-8');
- $st = strlen($str);
- if($st==$mb)
- '純粋な英語' を返す
- if($st%$mb==0 && $st%3==0)
- return '純粋な中国語文字';
- return '中国語と英語の混合'
- }
-
- $str = 'ブログ'
- echo 'String: '.$str.'、は '.utf8_str($str).'';
- ?>
-
-
- コードをコピー
-
-
-
GBKメソッド
function gbk_str($str){ $mb = mb_strlen($str,'gbk') $st = strlen($str); mb) return '純粋な英語'; - if($st%$mb==0 && $st%2==0)
- return '中国語と英語の混合'
- }
- ?> ;
-
-
- コードをコピー
-
-
-
-
-
|