ホームページ > 記事 > 毎日のプログラミング > PHP で文字化けせずに中国語の文字列をインターセプトする方法 (画像、テキスト + ビデオ)
この記事では、PHP が中国語の文字列 と を文字化けせずにインターセプトする方法を中心に詳しく説明します。
PHP の知識を学習する過程において、PHP の文字列インターセプト は、非常に一般的な基本的な文字列操作であると思います。
しかし、初心者の友達の中には、中国語や英語の文字列をインターセプトするときに文字化けに遭遇した人もいるかもしれません。実際、これも非常に簡単に解決できます。 まず、中国語と英語が占めるバイト数を理解する必要があります。 ASCII コード: 漢字は 2 バイトのスペースを占めます。 UTF-8 エンコード: 1 つの中国語文字 (繁体字中国語を含む) は 3 バイトに相当します。 Unicode エンコード: 1 つの中国語文字 (繁体字中国語を含む) は 2 バイトに相当します。 以下では、いくつかの簡単なコード例を使用して、PHP が文字化けせずに中国語と英語の文字列をインターセプトする に関する関連知識を詳しく紹介します。
1. 文字列をインターセプトする substr 関数について
<?php echo substr("PHP中文网", 0, 5);substr: 文字列の部分文字列を返します。 substr() の最初のパラメータはインターセプトする文字列を示し、2 番目のパラメータは位置 0 から始まるインターセプトを示し、3 番目のパラメータはインターセプトの長さを示します。 「PHP Chinese Network」の最初の5バイトをインターセプトした結果は以下の通りです。 図のように文字化けが表示されます。つまり、substr関数を使用すると、中国語と英語の文字列をインターセプトすると文字化けが発生します。
2. 文字列をインターセプトする mb_substr 関数について
<?php echo mb_substr("PHP中文网", 0, 5);mb_substr: 文字列の一部を取得します。 「PHP Chinese Network」の最初の 5 文字がインターセプトされ、結果は次のとおりです。
注: mb_substr は、文字数に基づいて文字列をインターセプトします。
3. 文字列
<?php echo mb_strcut("PHP中文网", 0, 7);「PHP Chinese Network」の最初の 7 バイトをインターセプトする mb_strcut 関数について、結果は次のとおりです。 図からわかるように、7 バイトをインターセプトしたいのですが、インターセプトされるのは「PHP」の 6 バイトだけです。漢字 1 文字は 3 バイトに等しいため、ここの 7 バイト目は表示されません。 要約すると、文字化けせずに中国語の文字列をインターセプトする必要がある場合は、後の 2 つの方法 (
mb_substr() と mb_strcut()) を選択できます。
この記事は、PHP文字化けのない中国語の文字列インターセプトに関する関連知識の紹介です。困っている友人の役に立てば幸いです。 PHP についてさらに詳しく知りたい場合は、PHP 中国語 Web サイト
PHP ビデオ チュートリアル以上がPHP で文字化けせずに中国語の文字列をインターセプトする方法 (画像、テキスト + ビデオ)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。