ホームページ >バックエンド開発 >PHPチュートリアル >文字列内の中国語の文字数をチェックする PHP プログラムの作成例を共有する、_PHP チュートリアル
場合によっては、文字列に含まれる単語の数を計算する必要があります。純粋な英語の文字列の場合、単語の数は次のとおりです。文字列の長さには
を使用します
strlen 関数を使用して取得できますが、文字列に漢字が含まれている場合はどうなるでしょうか。 mb_strlen も実装できますが、残念ながら拡張機能がインストールされていないので、自分で実装してください。
PHP には一般に必要な拡張機能があり、mb_strlen を使用して文字列内の単語数を取得できます。使用方法は一般的に次のとおりです。 リーリー
期待どおりの文字列長を取得します: 7.
まず、文字列は文字で構成され、文字はバイトで表されるという事実を理解する必要があります。英語の文字の ASCII コードは 128 未満であるため、バイトで表されます。バイトの ASCII コードが 127 を超える場合、現在のバイトが完全な文字ではないことを意味します。
例えば
リーリー
リーリー
は意味不明です、それはただのです
コードをコピーします コードは次のとおりです: あなた
ワードのバイトの 1 つ、つまり
コードをコピーします コードは次のとおりです: あなた
この文字は複数のバイトで構成されています。これを試してみましょう:
リーリー
ご覧のとおり、3 バイトを結合して出力すると、完全な
になります。
コードをコピーします コードは次のとおりです: あなた
。
これを理解した上で、単語数チェック関数を自分で書くことができます。一般的なプロセスは次のとおりです。
1.For ループはバイトを走査します。 2. バイトエンコーディングが >= 0x80 であるかどうかを判断し、そうであれば N バイトをスキップします
参考のために、gbk または utf8 文字列の長さを決定できる簡単な関数を書きました:
リーリー興味があるかもしれない記事: PHP エコー文字列の接続形式
http://www.bkjia.com/PHPjc/1111912.html