column

ITコラム

mv16636

プログラミングノウハウ

2019.05.22

PHP【文字列】trim で空白を削除

PHP では、trim 関数で 文字列の先頭及び末尾のスペースを取り除くことができます。
今回は trim 関数の使用方法を紹介します。

文字列についてはこちらの記事もご参照下さい。

PHP【文字列】文字列の連結
PHP【文字列】explode で文字列を分割
PHP【文字列】str_replace で文字列を置換
PHP【文字列】文字列の検索
PHP【文字列】文字列の比較
PHP【文字列】substr で文字列の抽出
PHP【文字列】数値に変換
PHP【文字列】strlen で文字列の長さを取得
PHP【文字列】trim で空白を削除(本ページ)

 
本サイトでは XAMPP( ザンプ )という開発環境を使用しています。
XAMPP のインストール方法や起動方法については以下の記事をご参照下さい。
PHP【 開発環境 】XAMPP インストール
PHP【 開発環境 】XAMPP の使い方

なお、未経験からITエンジニアへの就職に興味がある方や未経験からプログラミングを効率よく学びたいと考えている方は、就職率98.3%で受講料無料のプログラミングスクールプログラマカレッジもおすすめです。

最終更新日:2019年5月22日

1. trim でスペースを除去

trim 関数は、文字列の先頭及び末尾のスペースを除去する関数です。

次のように記述して使用します。

trim(対象文字列[, 指定文字列 ]);

第 1 引数には、対象となる文字列を指定します。
第 1 引数のみを指定した場合は、対象文字列の先頭及び末尾のスペース( 空白文字、タブ(\t)、リターン(\n)、改行(\r)、NULバイト文字(\0)、垂直タブ(\x0B) )が除去されます。

第 2 引数には、除去したい文字列を指定することができます。
第 2 引数に文字列を指定した場合は、対象文字列の先頭及び末尾から、指定した文字列の各文字 又は 文字列が除去されます。

 

trim のサンプル

trim 関数を使用して ある文字列からスペースや特定文字列を除去してみます。

下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)

<pre>
<?php

  $str1 = "  \tabc def ghijk   \n";
  $str2 = "123123 12341234 12345";

  var_dump($str1);
  var_dump(trim($str1));

  var_dump(trim($str2, "12"));
  var_dump(trim($str2, "15"));
  var_dump(trim($str2, "15234"));

?>
</pre>

PHP trim プログラマカレッジ

trim 関数の引数に対象文字列のみを指定すると、その文字列の先頭と末尾のスペースが除去されます。
この場合、空白文字以外のタブや改行等も除去されます。

trim 関数の第 2 引数に特定文字列を指定すると、対象文字列の先頭と末尾から特定文字列が除去されるのですが、除去される方法が少し複雑です。

まず、除去される特定文字列の捉え方ですが、特定文字列として「 abc 」を指定した場合、「 a 」「 b 」「 c 」「 ab 」「 bc 」「 abc 」の文字又は文字列が 対象文字列の先頭及び末尾から除去されます。

次に、除去される手順ですが、先頭及び末尾から除去されるべき文字又は文字列を除去した後、新たな先頭及び末尾から 除去されるべき文字又は文字列を除去します。
新たな先頭及び末尾から 除去されるべき文字又は文字列がなくなるまで この処理が繰り返された後、処理終了となります。

var_dump 関数についてはvar_dumpをご参照下さい。

また、<pre> ~ </pre> はデータを改行して出力するために記述しています。

▲目次へ戻る

 

2. ltrim、rtrim でスペースを除去

trim の類似関数で、ltrim 関数と rtrim 関数があります。

どちらもスペースを除去する関数ですが、ltrim 関数は 文字列の先頭のスペースを除去する関数で、rtrim 関数は 文字列の末尾のスペースを除去する関数です。

次のように記述して使用します。

ltrim(対象文字列 [, 指定文字列 ]);
rtrim(対象文字列[, 指定文字列]);

第 1 引数には、対象となる文字列を指定します。
第 1 引数のみを指定した場合は、対象文字列の先頭又は末尾のスペース( 空白文字、タブ(\t)、リターン(\n)、改行(\r)、NULバイト文字(\0)、垂直タブ(\x0B) )が除去されます。

第 2 引数には、除去したい文字列を指定することができます。
第 2 引数に文字列を指定した場合は、指定した文字列の各文字 又は 文字列が除去されます。

 

ltrim、rtrim のサンプル

ltrim 関数と rtrim 関数を使用して ある文字列からスペースや特定文字列を除去してみます。

下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)

<pre>
<?php

  $str1 = "  \tabc def ghijk   \n";
  $str2 = "123123 12341234 12345";

  var_dump(ltrim($str1));
  var_dump(rtrim($str1));

  var_dump(ltrim($str2, "15"));
  var_dump(rtrim($str2, "15"));

  var_dump(ltrim($str2, "15234"));
  var_dump(rtrim($str2, "15234"));

?>
</pre>

PHP trim プログラマカレッジ

ltrim 関数の引数に対象文字列のみを指定すると、その文字列の先頭のスペースが除去されます。
同様に、rtrim 関数の引数に対象文字列のみを指定すると、その文字列の末尾のスペースが除去されます。
これらの場合、空白文字以外のタブや改行等も除去されます。

ltrim 関数や rtrim 関数の第 2 引数に特定文字列を指定すると、trim 関数を使用する場合と同様の方法で 対象文字列の先頭 又は 末尾から特定文字 や文字列が除去されます。

var_dump 関数についてはvar_dumpをご参照下さい。

また、<pre> ~ </pre> はデータを改行して出力するために記述しています。

▲目次へ戻る

無料説明会

SHARE

最新記事

無料説明会に参加してみる

INTERNOUS,inc. All rights reserved.

無料オンライン説明会へ