- 公開日: 2017年08月18日
phpでの文字列の削除方法を解説!
phpでは文字列の中から指定した文字列を除去したり、置換したりすることができます。また、その方法はいくつか用意されており、今回はその方法をサンプルソースを交え、わかりやすく解説していきます。
trim、ltrim、rtirm関数
文字列の除去を行う際には、trim()、ltrim()、rtrim()といった関数を使用します。 それぞれ使用方法が異なるのでひとつずつ解説します。
先頭文字を削除
ltrim()関数を使用します。ltirm()の l はleftのlだと覚えて下さい。このltrim()では、左側から指定した文字列を除去(削除)することができます。
先頭の指定した文字列を除去
$str = "先頭文字を削除";
echo ltrim($str, '先');
結果
"頭文字を削除"
となり、先頭文字を除去することができます。 ltrimは引数1つでも使用可能です。その場合は、先頭にあるスペースを削除という挙動になります。※全角・半角スペースは問いません
$str = " 先頭のスペースを削除";
echo ltrim($str);
"先頭のスペースを削除"
末尾の文字を削除
rtrim()関数を使用します。rtimr()のrはrightのrだと覚えて下さい。使用方法はltrim()関数同様ですが、末尾の文字列を除去します。
$str = "末尾を削除";
echo rtrim($str, '除');
結果
"末尾を削"
となり末尾にあった「除」という文字が除去されているのがわかります。また、rtrim()関数もltrim()関数と同様に引数を1つで実行することが可能です。その際はスペースが除去されます。※全角・半角スペースは問いません
$str = "末尾のスペースを削除 ";
echo rtrim($str);
結果
"末尾のスペースを削除"
となり、末尾のスペースが除去されます。※全角・半角スペースは問いません
両端の文字を削除
ltrim()関数とrtrim()関数を併せた、trim()関数が存在します。使用方法は、ltrim()関数やrtrim()関数と同様ですが、指定した文字列を両端から除去します。
$str = "アニマルマニア";
echo rtrim($str, "ア");
結果
"ニマルマニ"
trim()関数も引数を一つしか指定しない場合は、スペースを除去します。※全角・半角スペースは問いません
指定文字を削除
指定した文字を削除するにはtrim()関数が利用できますが、他にもstr_replace()関数が存在します。このstr_replace関数は、以下の構文になります。
str_replace('検索する文字列', '置換後の文字列', '対象の文字列');
例文
$str = "犬,猫,鳥,猿,馬"
echo str_replace(",", "", $str);
結果
"犬猫鳥猿馬"
上記のように使用すると、カンマ「 , 」が空文字( "" )に置換されます。実際の出力結果を見るとカンマ「 , 」が除去されていることがわかります。
指定文字列の置換
str_replace()関数を使用することで、指定した文字列を置換することができます。
例文
$str = "犬,猫,鳥,猿,馬"
echo str_replace(",", "、", $str);
結果
"犬、猫、鳥、猿、馬"
上記のようにカンマ「 , 」を指定した文字で置換することができます。これはCSV形式のようにフォーマットが定まっている文字列に対して非常に有効です。
\Webサイト担当者としてのスキルが身に付く/
まとめ
いかがだったでしょうか、phpで文字列を除去する方法を解説しました。これらの文字列を除去するような関数は主にフォーム等でユーザーが入力した値の不要な文字列を除去する際等に使用します。 応用することで、html内のbrタグを除外したり、\nといったエスケープ文字をbrタグに置換することもできます。 使い方はシンプルですが、とても応用しやすい関数なのでどんどん使用して慣れていきましょう。
- この記事を書いた人
- ベンジャミン吉澤