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