PHP: 文字列の切り出し(範囲取得)mb_substr()

文字列の切り出し(範囲取得)

PHPで文字列の一部を切り出したい(範囲取得したい)場合は、 mb_substr()関数を使います。

書式
mb_substr(文字列, 開始文字位置 [, 文字数])

戻り値は切り出した文字列です。
第2引数の開始文字位置は先頭を0とする数値を指定し、 マイナスの数値を指定した場合は末尾からの位置になります。
第3引数の文字数を省略した場合は、開始文字位置から最後までの文字列を取り出します。

次のコードは mb_substr()関数を使った文字列切り出しの例です。

$s = "abcdefghi";

// 先頭から3文字
echo  mb_substr($s, 0, 3) . " \n";  // abc

// 2文字目から2文字
echo  mb_substr($s, 1, 2) . " \n";  // bc

文字数を省略した場合

第3引数の文字数を省略した場合は、 第2引数の指定位置から最後までの文字を切り出します。

$s = "abcdefghi";

// 6文字目から最後まで
echo  mb_substr($s, 5) . " \n";     // fghi

開始文字位置に負の値を指定

第2引数の開始文字位置に負の値を指定した場合は、 文字列の末尾からの位置になります。

例えば、ドットを含めた後ろ4文字の拡張子を取得する場合などに使えます。

$s = "abc.txt";

// 末尾4文字目から最後まで
echo  mb_substr($s, -4) . " \n";  // .txt