PHP入門 文字列関数 部分文字列を取得する(mb_substr関数)
mb_substr関数は、元の文字列から部分的な文字列を取り出します。
構文:mb_substr関数
mb_substr(string $string , int $start [, ?int $length [, ?string $encoding]]):string
$string | 対象の文字列 |
$start | 取得開始位置(文字位置は0スタート) |
$length | 取り出す文字数 |
$encoding | 使用する文字エンコーディング(省略時はdefault_charsetパラメータの値) |
引数$lengthを省略した場合、引数$startで指定した位置から文字列の末尾までが取り出されます。引数$start、$encodingに負数を指定した場合は、文字列末尾からの文字数を表すものとみなされます。この場合、文字列の末尾は-1と数えます。
例:
<?php
$str = 'PHP入門プロジェクト';
print mb_substr($str, 5,2).'<br>'; //結果:プロ(5文字目から2文字を取得)
print mb_substr($str, 5).'<br>'; //結果:プロジェクト(5文字目以降を取得)
print mb_substr($str, 5,-4).'<br>'; //結果:プロ(5文字目以降で、末尾4文字をあkっとしたものを取得)
print mb_substr($str, -6,2).'<br>'; //結果:プロ(後方6文字目から2文字を取得)
特定の1文字を取り出すのであれば、ブラケット構文で「$str[4]」のように記述することもできますが、マルチバイト文字には対応していません。