ホームページ >毎日のプログラミング >PHPの知識 >PHP で文字化けせずに中国語の文字列をインターセプトする方法 (画像、テキスト + ビデオ)

PHP で文字化けせずに中国語の文字列をインターセプトする方法 (画像、テキスト + ビデオ)

藏色散人
藏色散人オリジナル
2018-10-10 13:49:124765ブラウズ

この記事では、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バイトをインターセプトした結果は以下の通りです。

PHP で文字化けせずに中国語の文字列をインターセプトする方法 (画像、テキスト + ビデオ)

図のように文字化けが表示されます。つまり、substr関数を使用すると、中国語と英語の文字列をインターセプトすると文字化けが発生します。

2. 文字列をインターセプトする mb_substr 関数について

<?php
echo mb_substr("PHP中文网", 0, 5);

mb_substr: 文字列の一部を取得します。

「PHP Chinese Network」の最初の 5 文字がインターセプトされ、結果は次のとおりです。

PHP で文字化けせずに中国語の文字列をインターセプトする方法 (画像、テキスト + ビデオ)

最初の 5 文字がインターセプトされます。図のように文字化けは発生しません。

注: mb_substr は、文字数に基づいて文字列をインターセプトします。

3. 文字列

<?php
echo mb_strcut("PHP中文网", 0, 7);

「PHP Chinese Network」の最初の 7 バイトをインターセプトする mb_strcut 関数について、結果は次のとおりです。

PHP で文字化けせずに中国語の文字列をインターセプトする方法 (画像、テキスト + ビデオ)

図からわかるように、7 バイトをインターセプトしたいのですが、インターセプトされるのは「PHP」の 6 バイトだけです。漢字 1 文字は 3 バイトに等しいため、ここの 7 バイト目は表示されません。

要約すると、文字化けせずに中国語の文字列をインターセプトする必要がある場合は、後の 2 つの方法 (

mb_substr() と mb_strcut()) を選択できます。

この記事は、PHP

文字化けのない中国語の文字列インターセプトに関する関連知識の紹介です。困っている友人の役に立てば幸いです。 PHP についてさらに詳しく知りたい場合は、PHP 中国語 Web サイト

PHP ビデオ チュートリアル

を参照してください。どなたでも学習して参照できます。

以上がPHP で文字化けせずに中国語の文字列をインターセプトする方法 (画像、テキスト + ビデオ)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。