PHPの副関数は次のように定義されています。
substr(string $string, int $start, ?int $length = null): string
$文字列:インターセプトされる文字列。
$ start :start position、0は文字列の最初の文字を表します。
$長:指定されていない場合は、インターセプトされた長さは、文字列の開始位置から端まで傍受されます。
文字列$ strから最初のn文字を抽出したいとします。コードは次のとおりです。
$str = "これはテスト文字列です";
$n = 5;
$substring = substr($str, 0, $n);
echo $substring;
このコードは、文字列の最初の5文字を出力します。
サブストロール機能は単純ですが、マルチバイトキャラクター(中国語、日本、韓国など)を扱うときに、文字化けされたコードまたは切り捨てられたキャラクターを引き起こす可能性があります。これは、 substが文字操作ではなくバイト操作に基づいているためです。
文字列がUTF-8エンコードの場合、Multibyte-SafeであるMB_Substr関数を使用することをお勧めします。
$str = "これはテスト文字列です";
$n = 5;
$substring = mb_substr($str, 0, $n, "UTF-8");
echo $substring;
MB_SUBSTRは、マルチバイト文字を正しく処理し、傍受中にキャラクターが切り捨てられないようにします。
<?php
$str = "訪問してください gitbox.net Webサイト,ここには豊富なリソースがあります。";
$n = 10;
// 文字列を傍受する前に10文字
$substring = mb_substr($str, 0, $n, "UTF-8");
// Webページへの出力
echo "<p>コンテンツの概要:{$substring}...</p>";
?>
Subststrを使用して文字列を傍受する場合、英語または単一バイトのエンコード文字列の場合は、 substr($ str、0、$ n)を使用してください。
マルチバイト文字列を処理するときは、 MB_Substr($ str、0、$ n、 "utf-8")を使用して、キャラクターが切り捨てられていないことを確認する必要があります。
Webページを出力するときは、HTMLタグを組み合わせて、インターセプトされた結果を安全に表示します。