PHP 8.4.3 Released!

ltrim

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

ltrim删除字符串开头的空白字符(或其他字符)

说明

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

去除字符串开头的空白字符(或其他字符)

不带第二个参数,mb_ltrim() 将去除下列字符:

  • " "ASCII SP 字符 0x20,一个普通的空格。
  • "\t"ASCII HT 字符 0x09,一个制表符。
  • "\n"ASCII LF 字符 0x0A,一个换行符。
  • "\r"ASCII CR 字符 0x0D,一个回车符。
  • "\0"ASCII NUL 字符 0x00,一个 NUL 字节。
  • "\v"ASCII VT 字符 0x0B,一个垂直制表符。

参数

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);

// 删除 $binary 开头的 ASCII 控制字符
// (从 0 到 31,包括 0 和 31)
$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() - 去除字符串末尾的空白字符(或者其他字符)
添加备注

用户贡献的备注 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.
To Top