- 公開日: 2017年08月18日
phpでtrimを使って空白(スペース)を削除しよう!
phpでのスペースの削除方法(trim)
スペースを削除する方法といえばtrim関数があります。trimが英語で切り取るという意味である通り、trim関数は文字列の先頭と末尾にある空白文字を取り除くことができます。
<?php
echo '「' . trim(' abcdef ') . '」';
<実行結果>
「abcdef」
ここでいう空白文字とは半角スペースやタブなどのことをいいます。
ちなみにtrim関数は第二引数をとることができ、第二引数に文字列を渡すと空白文字の代わりに先頭あるいは末尾に指定した文字列を削除してくれます。
<?php
echo '「' . trim('abcdef', 'ab') . '」';
<実行結果>
「cdef」
その他のスペースの削除方法
基本的にはtrim関数を使う場面が多いと思いますが、他にも空白除去をする方法がありますので紹介します。
rtrim関数
名前の通りtrim関数の亜種のようなもので、rはright(右)のことであり、右端の空白を除去する関数となっています。
<?php
echo '「' . trim(' abcdef ') . '」';
<実行結果>
「 abcdef」
rtrim関数も第二引数をとることができます。
ちなみに他言語であるPerlにはchomp関数というものがありますが、PHPではrtrim関数で代替が可能です。 chomp関数は末尾にある改行文字を削除する関数ですので、第二引数に改行文字を渡せばOKです。
trim('なんらかのテキスト', "\n")
ltrim関数
rtrim関数と同じtrim関数の亜種のようなもので、lはleft(左)のことであり、左端の空白を除去する関数となっています。
<?php
echo '「' . ltrim(' abcdef ') . '」';
<実行結果>
「abcdef 」
なお、ltrim関数も第二引数をとることができます。
chop関数
chop関数はltrim関数と同じく左端の空白を除去する関数となっています。 chopは英語で叩き切る(チョップ)という意味です。チョップは首にする描写が多いイメージなので、頭のほう(左端)が切れると覚えています。
<?php
echo '「' . ltrim(' abcdef ') . '」';
<実行結果>
「abcdef 」
chop関数も第二引数をとることができます。
全角スペースを取り除く方法
ここまでの解説でお気づきの方もいるかもしれませんが、上記で紹介した全角スペースを取り除くことができません。 これはPHPという言語が英語圏発祥であること起因します。
全角スペースを取り除きたい場合、ひとつの方法として全角スペースを半角スペースに置換してからtrim関数に渡す方法があります。
<?php
echo '「' . trim(mb_convert_kana(' 前後に全角スペースが入っています ', "s")) . '」';
<実行結果>
「前後に全角スペースが入っています」
ちなみに上記でうまく動かない場合は第三引数で文字コードを指定する方法を試してみてください。
trim(mb_convert_kana(' 前後に全角スペースが入っています ', "s", 'UTF-8'));
\Webサイト担当者としてのスキルが身に付く/
まとめ
空白除去についてはtrim関数を覚えておけば問題ありませんが、全角スペースが削除できない点に注意しましょう。
- この記事を書いた人
- CodeCampus編集部