PHPのお勉強!

PHP TOP

ltrim

(PHP 4, PHP 5, PHP 7, PHP 8)

ltrim文字列の最初から空白 (もしくはその他の文字) を取り除く

説明

ltrim(string $string, string $characters = " \n\r\t\v\x00"): string

文字列の最初から空白 (もしくはその他の文字) を取り除きます。

二番目の引数を指定しない場合、 mb_ltrim() は以下の文字を取り除きます:

  • " ": ASCIISP 文字 0x20 、通常のスペース。
  • "\t": ASCIIHT 文字 0x09 、タブ。
  • "\n": ASCIILF 文字 0x0A 、改行(ラインフィード)。
  • "\r": ASCIICR 文字 0x0D 、キャリッジリターン。
  • "\0": ASCIINUL 文字 0x00 、NULバイト。
  • "\v": ASCII VT 文字 0x0B 、垂直タブ。

パラメータ

string
The input string.
characters
必要に応じて、削除する文字を characters パラメータで指定することもできます。 削除が必要なすべての文字を単純にリストとして記述してください。 .. を使用することで、連続する文字の範囲を指定することも可能です。

戻り値

この関数は、string の先頭から空白文字を削除して返します

例1 ltrim() の使用例

<?php

$text
= "\t\tThese are a few words :) ... ";
$binary = "\x09Example string\x0A";
$hello = "Hello World";
var_dump($text, $binary, $hello);

print
"\n";


$trimmed = ltrim($text);
var_dump($trimmed);

$trimmed = ltrim($text, " \t.");
var_dump($trimmed);

$trimmed = ltrim($hello, "Hdle");
var_dump($trimmed);

// trim the ASCII control characters at the beginning of $binary
// (from 0 to 31 inclusive)
$clean = ltrim($binary, "\x00..\x1F");
var_dump($clean);

?>

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

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

string(30) "These are a few words :) ...  "
string(30) "These are a few words :) ...  "
string(7) "o World"
string(15) "Example string
"

参考

  • trim() - 文字列の先頭および末尾にあるホワイトスペースを取り除く
  • rtrim() - 文字列の最後から空白 (もしくはその他の文字) を取り除く
add a note

User Contributed Notes 3 notes

up
84
tavi undersc 10 from yahoocom
9 years ago
When using a $character_mask the trimming stops at the first character that is not on that mask.

So in the $string = "Hello world" example with $character_mask = "Hdle", ltrim($hello, $character_mask) goes like this:
1. Check H from "Hello world" => it is in the $character_mask, so remove it
2. Check e from "ello world" => it is in the $character_mask, so remove it
3. Check l from "llo world" => it is in the $character_mask, so remove it
4. Check l from "lo world" => it is in the $character_mask, so remove it
5. Check o from "o world" => it is NOT in the $character_mask, exit the function

Remaining string is "o world".

I hope it helps someone as I had a confusing moment with this function.
up
23
Usamah M dot Ali (usamah1228 at gmail dot com)
16 years ago
For those who use right-to-left languages such as Arabic, Hebrew, etc., it's worth mentioning that ltrim() (which stands for left trim) & rtrim() (which stands for right trim) DO NOT work contextually. The nomenclature is rather semantically incorrect. So in an RTL script, ltrim() will trim text from the right direction (i.e. beginning of RTL strings), and rtrim() will trim text from the left direction (i.e. end of RTL strings).
up
4
dzek dot remove_this at dzek dot eu
13 years ago
Guys, if += 0 is producing wrong values sometimes, and preg_replace is cpu consuming, then just stick to the main function described on that page, and use:
<?php
$value
= ltrim($value, '0');
?>
should be the fastest and most reliable.
I think all those comments can be misleading for begginers checking this page - it's sort of using magic tricks to reinvent the wheel.