ホームページ >バックエンド開発 >PHPチュートリアル >PHP は、文字列が純粋な英語であるか、純粋な中国語であるか、または中国語と英語の混合形式であるかを判断します。

PHP は、文字列が純粋な英語であるか、純粋な中国語であるか、または中国語と英語の混合形式であるかを判断します。

WBOY
WBOYオリジナル
2016-07-25 09:04:271013ブラウズ
  1. $strarray[1] = "hello";
  2. $strarray[3] = "123hello";
  3. $strarray[4] = "スクリプト スクール";
  4. $strarray[5] = "123 プログラマーの家";
  5. $strarray[6] = "こんにちはプログラマーの家";
  6. $strarray[7] = "123 ハロー プログラマーの家";
  7. foreach ($strarray として$key->$value)
  8. {
  9. $x = mb_strlen($value,'gb2312');
  10. echo $strarray[$key]; "color: #ff0000;">'.$x.' '.$y.'?>
  11. コードをコピー
操作結果: こんにちは、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 ''

  1. function utf8_str($str){
  2. $mb = mb_strlen ($str,'utf-8');
  3. $st = strlen($str);
  4. if($st==$mb)
  5. '純粋な英語' を返す
  6. if($st%$mb==0 && $st%3==0)
  7. return '純粋な中国語文字';
  8. return '中国語と英語の混合'
  9. }
  10. $str = 'ブログ'
  11. echo 'String: '.$str.'、は '.utf8_str($str).'';
  12. ?>
  13. コードをコピー
  14. GBKメソッド

    function gbk_str($str){

    $mb = mb_strlen($str,'gbk')
    $st = strlen($str); mb)
      return '純粋な英語';
    1. if($st%$mb==0 && $st%2==0)
    2. return '中国語と英語の混合'
    3. }
    4. ?> ;
    5. コードをコピー
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。