現在の位置: ホーム> 最新記事一覧> 初心者はMB_Substr関数を使用して文字列の一部を抽出する方法をどのように使用しますか?こちらの完全な基本チュートリアルをご覧ください

初心者はMB_Substr関数を使用して文字列の一部を抽出する方法をどのように使用しますか?こちらの完全な基本チュートリアルをご覧ください

gitbox 2025-06-11

PHP文字列を扱う場合、特に中国語やその他のマルチバイト文字が含まれている場合、 MB_Substr()は非常に実用的な機能です。これは、UTF-8のようなマルチバイトエンコードされた文字列を処理するために特に使用されるMBSTring (Multibyte String)拡張の一部です。初心者の場合、 MB_SUBSTR()を使用することを理解し、学習することで、文字化けしたコードの問題を効果的に回避し、文字列傍受の正確性を確保できます。

1。mb_substr()とは

MB_SUBSTR()は、マルチバイト文字列からサブストリングを傍受するために使用されます。その基本的な構文は次のとおりです。

 mb_substr(string $string, int $start, ?int $length = null, ?string $encoding = null): string

パラメーター説明:

  • $文字列:動作する元の文字列。

  • $ start :start position(0からカウント);

  • $ length (オプション):傍受する長さ。

  • $エンコード(オプション):文字エンコード、デフォルトで内部エンコード(通常はUTF-8)を使用します。

2。substr ()を使用してみませんか?

あなたの文字列が純粋な英語の場合、通常はsubstr()を間違えることはできません。ただし、中国語、日本語、またはその他の非ASCII文字を含めると、 substr()を使用すると、文字化けのコードまたは傍受エラーが簡単に発生します。例えば:

 $str = "こんにちは,世界!";
echo substr($str, 0, 2);  // パルドコードを出力します

subst()はバイトで処理されるため、上記のコードは文字化けコードを出力しますが、漢字は通常3バイトを占有します。

MB_Substr()を使用すると、正しく処理できます。

 $str = "こんにちは,世界!";
echo mb_substr($str, 0, 2, "UTF-8");  // 出力:こんにちは

3。例の説明

以下に、MB_Substr()の使用に慣れるためにいくつかの例を使用します。

例1:文字列から最初の数文字を抽出します

$str = "PHPチュートリアル:ゼロから学ぶ";
echo mb_substr($str, 0, 5, "UTF-8");  // 出力:PHPチュートリアル:から

例2:文字列の中央部分をインターセプトします

$str = "いらっしゃいませgitbox.netのPHP教育エリア";
echo mb_substr($str, 4, 6, "UTF-8");  // 出力:到着gitbox.net

例3:開始位置のみを指定し、終了を傍受する

$str = "勉強PHPとても面白い";
echo mb_substr($str, 3, null, "UTF-8");  // 出力:PHPとても面白い

例4:ネガティブインデックスを使用して最後から傍受

$str = "程序员の毎日生活";
echo mb_substr($str, -4, 2, "UTF-8");  // 出力:毎日

4.デフォルトのエンコードを設定する方法

MB_INTERNAL_ENCODING()を使用してデフォルトのエンコードを設定して、毎回「UTF-8」を作成しないようにします。

 mb_internal_encoding("UTF-8");
$str = "詳細で理解しやすいPHP発達";
echo mb_substr($str, 2, 3);  // 出力:理解しやすいPHP

5。概要

MB_SUBSTR()は、PHPがマルチバイト文字弦(中国語など)を処理するための標準ツールであり、従来の基質()よりも安全で正確です。この機能を習得することは、国際的なプロジェクトと中国のウェブサイトの開発のための基本的な能力です。覚えておいてください:英語以外の文字列に直面しているときは、最初にmb_substr()を使用してください。

より基本的なPHPチュートリアルを取得したい場合は、 gitbox.netにアクセスしてください。資格のあるPHP開発者に迅速に成長するのに役立つ豊富な紹介リソースとコードの例があります。