文字列の一部のみを取り出す
mb_substr関数は、文字列の指定した一から必要な文字数分だけの文字列を取得することができます。
PHP コード例
mb_substr( $str, 0, 5);
上記のコードでは、$strに格納されている文字列から、0文字目から5文字取得します。
PHP コード例
$str1 = "猫はとても可愛いが、時々いたずらをする。";
$str2 = null;
// 文字列を取り出す
$str2 = mb_substr( $str1, 0, 8);
// 出力
var_dump($str2);
出力例
string(24) "猫はとても可愛い"
マルチバイトのためバイト数にすると「24」となりますが、取得した文字列はmb_substr関数で指定した先頭から8文字になっていることが分かります。
同じように、日本語以外の文字列に対しても使用することができます。
PHP コード例
$str1 = "cat is cat. cat play a trick. but so pretty";
$str2 = null;
// 文字列を取り出す
$str2 = mb_substr( $str1, 0, 11);
// 出力
var_dump($str2);
出力例
string(11) "cat is cat."
半角スペースなども1文字として扱う点に注意してください。
末尾から文字列を取り出す
上記のコードは文字列の先頭から指定した文字数だけ文字列を取得してきました。
mb_substr関数は第2パラメータに負の数を指定すると、末尾から指定した長さの文字列を取得することもできます。
PHP コード例
$str1 = "cat is cat. cat play a trick. but so pretty";
$str2 = null;
$str2 = mb_substr( $str1, -6, 6);
var_dump($str2);
出力例
string(6) "pretty"
先頭から末尾に向かって、指定した文字数を取得するという基本的なルールは変わりません。