ITコラム

PHP 文字列 操作

PHP

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 の使い方

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

目次

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

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>

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>

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

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

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

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

▲目次へ戻る

SHARE

ITコラムのおすすめ記事

最新記事

無料相談する

INTERNOUS,inc. All rights reserved.