PHP Conference Nagoya 2025

ltrim

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

ltrimStrip whitespace (or other characters) from the beginning of a string

Description

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

Strip whitespace (or other characters) from the beginning of a string.

Without the second parameter, mb_ltrim() will strip these characters:

  • " ": ASCII SP character 0x20, an ordinary space.
  • "\t": ASCII HT character 0x09, a tab.
  • "\n": ASCII LF character 0x0A, a new line (line feed).
  • "\r": ASCII CR character 0x0D, a carriage return.
  • "\0": ASCII NUL character 0x00, the NUL-byte.
  • "\v": ASCII VT character 0x0B, a vertical tab.

Parameters

string
The input string.
characters
Optionally, the stripped characters can also be specified using the characters parameter. Simply list all characters that need to be stripped. With .. it is possible to specify an incrementing range of characters.

Return Values

This function returns a string with whitespace stripped from the beginning of string.

Examples

Example #1 Usage example of 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);

?>

The above example will output:

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
"

See Also

  • trim() - Strip whitespace (or other characters) from the beginning and end of a string
  • rtrim() - Strip whitespace (or other characters) from the end of a string
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.
To Top