uiuifree.com

- サイト制作のノウハウと最適化を目指して-

2020.6.23 PHPで文字列の前後にある空白を削除 (trim,ltrim,rtrim)

 PHPで文字列の前後にある空白を削除 (trim,ltrim,rtrim)
  1. この記事の目次
    1. PHPで文字列の前後にある空白を削除
    2. trim関数
    3. 文字列の前や後ろのホワイトスペースを削除したい
    4. 前後だけでなく全ての半角スペース削除したい

PHPで文字列の前後にある空白を削除

今回は、PHPで入力された空白の削除の方法をまとめてみました。

入力文字列を扱っていると文字列の前後に空白が入力されることがありますよね。 PHPではtrim()関数を使って空白の削除を行えます。

サンプル
$str = trim('   氏名  ');
echo $str
実行結果
"氏名"

これで文字列前後の空白を削除できるようになりました。 ではtrim関数の詳しい使い方について解説を続けます。

trim関数

文字列の先頭および末尾にあるホワイトスペースを取り除きます

trim
// メソッド
trim ( string $str [, string $character_mask = " \t\n\r\0\x0B" ] )
// 要約
trim(文字列 [,取り除く文字]);

文字列のホワイトスペースを取り除きますがデフォルトでは空白以外にも以下の文字コードをが取り除かれます。

  • " " (ASCII 32 (0x20)), 通常の空白。
  • "\t" (ASCII 9 (0x09)), タブ。
  • "\n" (ASCII 10 (0x0A)), リターン。
  • "\r" (ASCII 13 (0x0D)), 改行。
  • "\0" (ASCII 0 (0x00)), NULバイト
  • "\x0B" (ASCII 11 (0x0B)), 垂直タブ

変更する場合は第二引数に削除したい文字を指定することもできます。

文字列の前や後ろのホワイトスペースを削除したい

前方のホワイトスペースを削除するltrim
後方のホワイトスペースを削除する rtrim
が用意されています、どちらもtrimと同じ使い方になります。

ltrim
echo ltrim(' ', '', '   氏名   ' );
echo rtrim(' ', '', '   氏名   ' );
実行結果
"氏名   "
"   氏名"

前後だけでなく全ての半角スペース削除したい

trim関係の関数では文字列間の空白を削除できません、文字列全ての半角スペースを削除するにはstr_replaceなど汎用的な方法で実装します。

str_replace
$str = str_replace(' ', '', '   姓    名   ' );
echo $str;
実行結果
"姓名"

このように空白を削除する手段はtrim str_replace 他にも preg_replace などを使えば様々な方法で実装することができます。 trim関数はコードを簡潔に記述するためにも使えますので是非利用してみてください。

PROFILE

このサイトを運営してるuiuifreeです。
渋谷のベンチャー企業で2年ほど新規事業を担当した後にフリーランスエンジニアにキャリア転換。
求人サイトの開発が多くエンジニア/看護師/保育士などの分野でサイトを運営しています。

アウトプット中の技術

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)