現在の位置: ホーム> 最新記事一覧> iconv_substr関数を使用する方法は? 1つの記事は、その基本的な使用法とアプリケーションのシナリオを習得するのに役立ちます

iconv_substr関数を使用する方法は? 1つの記事は、その基本的な使用法とアプリケーションのシナリオを習得するのに役立ちます

gitbox 2025-08-04

ICONV_SUBSTR関数は、文字列を傍受するためのPHPの強力なツールであり、特にマルチバイト文字セット(UTF-8、GBKなど)に適しています。従来の関数とは異なり、 ICONV_SUBSTRは、マルチバイト文字を含む文字列を正しく処理し、中国語、日本、韓国語などの非ラチン文字セットを扱う場合、特にうまく機能します。

1。iconv_substr関数の基本的な構文

<span><span><span class="hljs-title function_ invoke__">iconv_substr</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$start</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$length</span></span><span> = ?, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$encoding</span></span><span> = ?): </span><span><span class="hljs-keyword">string</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
  • $ str :入力元の文字列、通常はインターセプトする文字列。

  • $ start :インターセプトの開始位置は負の数であり、計算が文字列の端から始まることを示します。

  • $ length :インターセプトされた長さ。インターセプトする文字の数を指定します。指定されていない場合、文字列の端はデフォルトでインターセプトされます。

  • $エンコード:文字セットエンコード、通常はUTF-8またはGBKを使用します。指定されていない場合、デフォルトのシステムエンコードはデフォルトで使用されます。

2。例を使用してください

1。基本的な例

<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"Hello, こんにちは,世界!"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">iconv_substr</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-number">7</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-string">"UTF-8"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$result</span></span><span>;  </span><span><span class="hljs-comment">// 出力:こんにちは</span></span><span>
</span></span>

上記の例では、7番目の文字位置から開始し、長さ3の文字をインターセプトします。UTF-8エンコードであるため、 ICONV_SUBSTRは漢字を正しく処理できます。

2。負の数の開始位置を使用します

<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"Hello, こんにちは,世界!"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">iconv_substr</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, -</span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-string">"UTF-8"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$result</span></span><span>;  </span><span><span class="hljs-comment">// 出力:世界</span></span><span>
</span></span>

この例では、 -3は文字列の3番目の最後の文字から傍受することを意味し、結果は「世界」を傍受することです。

3.文字列の端を傍受します

<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"PHP プログラミング言語"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">iconv_substr</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-string">"UTF-8"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$result</span></span><span>;  </span><span><span class="hljs-comment">// 出力:プログラミング言語</span></span><span>
</span></span>

この例では、4番目の文字から傍受することを指定しますが、インターセプトの長さではなく、デフォルトで文字列の最後まで傍受されます。

3。ICONV_SUBSTRとSUBSTRの違い

Substrは、単一バイト文字セット(ASCII文字など)の処理に適したPHPの一般的な関数ですが、マルチバイト文字セットを扱う場合はエラーが発生する場合があります。たとえば、 substrを使用して中国の弦を傍受すると、文字化けされた文字や不完全な傍受を引き起こす可能性があります。 ICONV_SUBSTRは、マルチバイト文字セットに特別に使用されており、インターセプトの精度を確保し、コードを避けることができます。

例:

 <span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"PHP中国のチュートリアル"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>);  </span><span><span class="hljs-comment">// 可能会出力乱码</span></span><span>
</span></span>
 <span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"PHP中国のチュートリアル"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">iconv_substr</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">"UTF-8"</span></span><span>);  </span><span><span class="hljs-comment">// 正确出力:中国語</span></span><span>
</span></span>

IV。アプリケーションシナリオ

ICONV_SUBSTR機能は、特にマルチバイト文字セットを扱う場合、多くの実用的なアプリケーションで非常に役立ちます。一般的なアプリケーションシナリオは次のとおりです。

1。中国の弦を傍受します

多言語でサポートされているWebページまたはアプリケーションを開発する場合、通常、中国のテキストから特定の長さの文字列を傍受する必要があります。 ICONV_SUBSTRは、完全な文字が、文字化けされたコードやエラーを引き起こすことなく正確に傍受されるようにすることができます。

2。ファイル名またはパスを傍受します

中国語や日本語などの非ラチン文字セットを含むファイル名を処理する場合、 ICONV_SUBSTRを使用すると、ファイル名またはパスが正しく傍受され、文字化けの問題を回避できます。

3.データベース内のフィールドを挿入します

データベースと対話する場合、 ICONV_SUBSTRを使用してデータベース内のテキストフィールドを傍受できます。特に多言語テキスト(中国語、日本など)を保存する場合、傍受されたテキストに文字化された文字や不完全な文字がないことを確認します。

4。文字列ページネーションディスプレイ

一部のアプリケーションでは、長いテキストをページングする必要がある場合があります。 ICONV_SUBSTRは、各ページに表示する必要があるテキストを正確にキャプチャするのに役立ち、半分の文字の状況を回避します。

5。概要

ICONV_SUBSTRは非常に実用的なPHP関数であり、特にマルチバイト文字セットでの文字列操作の処理に適しています。中国語、日本、韓国語などのマルチバイトのキャラクターセットを扱う場合、 ICONV_SUBSTRはより良いサポートを提供して傍受の正確性を確保できます。この関数の基本的な使用法とアプリケーションシナリオを習得することは、国際的なPHPアプリケーションを開発するために非常に重要です。