PHPで特定の文字列を削除する方法を解説!
文字列の中から、PHPで特定の文字を削除する方法について解説していきます。PHPでの文字列削除にはいくつかの方法がありますが、その中から代表的な方法をご紹介します。
PHPで特定の文字列を削除する方法
PHPで、文字列から特定の文字列を削除する方法について解説していきます。
PHPで先頭文字列を削除
先頭の空白を除去する方法としてltrim()
がありますが、第二引き数に削除したい文字を設定する事で、任意の文字列を削除する事もできます。
ただし、ltrim()
の第二引き数はマルチバイトに対応していないため、日本語は文字化けしてしまう可能性があります。
ltrim()
を利用する場合は、半角英数字を削除するのにお勧めです。
ltrim
echo ltrim('1234567890', '12');
気を付けなければいけないのは、先頭の文字が削除された後も、繰り返し削除対象となる事です。
サンプルで実際に確認してみましょう。
PHPで末尾の文字列を削除
末尾の文字列を削除するにはrtrim()を用います。
こちらもltrim()と同様に第二引き数に削除したい文字列を指定する事で、末尾から指定文字列の削除ができます。
rtrim
echo rtrim('1234567890', '90');
実行結果は下記の様になります。
PHPで両端の文字列を削除
両端の文字列を削除するにはtrim()を用います。
注意点はltrim()
・rtrim()
と同様です。
trim
echo trim('12345678901', '12');
trim()
も指定文字列が削除された後の文字列が繰り返し削除対象となる為、気を付けなければいけません。
両端からすべての指定文字が削除される事に注意して利用してください。
第二引き数には「12」が指定されていますが、末尾から「1」も削除されている事に注意してください。
PHPで検索文字列に一致したすべての文字列を削除する
例えば郵便番号から-
(ハイフン)を削除したい時などに便利なstr_replace()
です。
正規表現のような技巧的な置換ルールを必要としない場合は、一番使い勝手の良い置換方法です。
str_replace
str_replace('検索したい値', '置換文字', '検索・置換の対象');
preg_replace()は置換する為の関数ですが、第二引き数の「置換文字」を''
にする事で、検索した文字列を削除する事ができます。
それでは実際に郵便番号から-
(ハイフン)を削除してみましょう。
PHPで正規表現検索した文字列を削除する
str_replace()
よりも技巧的な検索を行って置換を行いたい場合、preg_replace()
を用います。
str_replace()
の第一引き数(検索したい値)の箇所に正規表現を使います。
preg_replace
preg_replace('検索を行うパターン', '置換文字', '検索・置換の対象');
先ほどご紹介した-(ハイフン)の置換を行うには、下記の様になります。
まとめ
切り取りたい文字列によって、半角英数字の文字列を除去するにはltrim()
・rtrim()
・trim()
が便利ですが、日本語の文字列を除去するにはstr_replace()
やpreg_replace()
が便利ですね。
ここで登場した正規表現については、改めてご紹介したいと思います。
