PHPで文字列の一部を切り出す方法

PHPで文字列の一部を切り出す方法

PHPでsubstr()関数、mb_substr()関数を使用して文字列の中から指定した位置の文字を切り出す方法をご紹介します。

substr

対象文字列の開始位置から指定バイト数分の文字列を抽出します。

基本構文

substr( 対象文字列, 開始位置(0なら先頭) [, 切り出すバイト数]);

文字列を左から切り出す

<?php
print substr('abcdefg', 0 , 3);  //abc
print substr('abcdefg', 1 , 3);  //bcd
print substr('abcdefg', 3);      //defg
?>

文字列を右から切り出す

<?php
print substr('abcdefg', -5, 3); //cde  右から切り出した5バイトの内、左から3バイト
print substr('abcdefg', -3);    //efg  右から3バイト
?>

mb_substr

対象文字列の開始位置から指定文字数分の文字列を抽出します。
半角文字、全角文字も1文字として扱います。

基本構文

mb_substr( 対象文字列, 開始位置(0なら先頭) [ ,文字数 [ ,文字コード]] );

文字列を左から切り出す

<?php
print mb_substr('あいうえお', 0, 2);  //あい
print mb_substr('あいうえお', 2, 2);  //うえ
print mb_substr('あいうえお', 3);     //えお
?>

文字列を右から切り出す

<?php
print mb_substr('あいうえお', -3, 2);  //うえ    右から切り出した3桁の内、左から2桁
print mb_substr('あいうえお', -3);     //うえお  右から3桁
?>