Php/docs/function.trim

提供:Dev Guides
< Php
移動先:案内検索

trim

(PHP 4, PHP 5, PHP 7)

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


説明

trim ( string $string [, string $characters = " \n\r\t\v\0" ] ) : string

この関数は string の最初および最後から空白文字を取り除き、 取り除かれた文字列を返します。2番目のパラメータを指定しない場合、 trim()は以下の文字を削除します。

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


パラメータ

string
ホワイトスペースを取り除く string
characters
charactersパラメータにより、削除する 文字を指定することも可能です。削除したい全ての文字をリストに してください。..を文字の範囲を指定する際に 使用可能です。


返り値

ホワイトスペースを取り除いた文字列


例1 trim()の使用例

<?php$text   = "\t\tThese are a few words :) ...  ";$binary = "\x09Example string\x0A";$hello  = "Hello World";var_dump($text, $binary, $hello);print "\n";$trimmed = trim($text);var_dump($trimmed);$trimmed = trim($text, " \t.");var_dump($trimmed);$trimmed = trim($hello, "Hdle");var_dump($trimmed);$trimmed = trim($hello, 'HdWr');var_dump($trimmed);// ASCII 制御文字 (0 から 31 まで) を// $binary の先頭および末尾から取り除きます$clean = trim($binary, "\x00..\x1F");var_dump($clean);?>

上の例の出力は以下となります。


string(32) "        These are a few words :) ...  "
string(16) "    Example string
"
string(11) "Hello World"

string(28) "These are a few words :) ..."
string(24) "These are a few words :)"
string(5) "o Wor"
string(9) "ello Worl"
string(14) "Example string"

例2 trim() を用いて配列の値をトリミングする

<?phpfunction trim_value(&$value){    $value = trim($value); }$fruit = array('apple','banana ', ' cranberry ');var_dump($fruit);array_walk($fruit, 'trim_value');var_dump($fruit);?>

上の例の出力は以下となります。


array(3) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(7) "banana "
  [2]=>
  string(11) " cranberry "
}
array(3) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(6) "banana"
  [2]=>
  string(9) "cranberry"
}

注意

注意:

わかるかな?: 途中の文字が取り除かれる

trim()string の先頭と末尾から文字を取り除くので、 文字列の途中にある文字がを取り除かれたり (あるいは取り除かれなかったり) すると少し戸惑うことでしょう。 trim('abc', 'bad') は 'a' と 'b' を両方取り除きます。 なぜなら、まず 'a' を取り除いた時点で 'b' が先頭の文字となり、それも取り除く対象だからです。 したがって、この処理は正しく動きます。一方、 trim('abc', 'b') は動かないでしょう。

参考

  • ltrim() - 文字列の最初から空白 (もしくはその他の文字) を取り除く
  • rtrim() - 文字列の最後から空白 (もしくはその他の文字) を取り除く
  • str_replace() - 検索文字列に一致したすべての文字列を置換する