PHP で中国語の文字数を正しく数える方法は?これは、私を長い間悩ませてきた問題です。PHP には、文字列の長さを計算できる関数がたくさんあります。たとえば、次の例では、
strlen
mb_strlen
mb_strwidth
の3つの関数が使用されています。統計文字列の長さを見てみましょう:
[code]echo strlen("你好ABC") . ""; # 输出 9 echo mb_strlen("你好ABC", 'UTF-8') . ""; # 输出 5 echo mb_strwidth("你好ABC") . ""; #输出 7
上記のテストから、中国語に関係なく、
strlen
漢字は 3 バイトにカウントされることがわかります。英語の場合は
1 バイトとしてカウントされ、mb_strlen
バイトとしてカウントするため、mb_strwidth
。 文字列をインターセプトするには
mb_strwidth
の方法に従って計算され、単語数がインターセプトの要件を超える場合、この関数は次のことができます。また、最後に「…」も自動的に追加されます。
mb_strimwidth
以上がPHPで漢字の数を数える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。