PHP 7.2.0 Beta 3 Released


(PHP 4, PHP 5, PHP 7)

ltrimУдаляет пробелы (или другие символы) из начала строки


string ltrim ( string $str [, string $character_mask ] )

Удаляет пробелы (или другие символы) из начала строки.

Список параметров


Входная строка.


С помощью параметра character_mask можно также указать удаляемые символы. Просто перечислите все символы, которые вы хотите удалить. Можно указать конструкцию .. для обозначения диапазона символов.

Возвращаемые значения

Эта функция возвращает строку str с удаленными из начала строки пробелами. Если второй параметр не передан, ltrim() удаляет следующие символы:

  • " " (ASCII 32 (0x20)), обычный пробел.
  • "\t" (ASCII 9 (0x09)), символ табуляции.
  • "\n" (ASCII 10 (0x0A)), символ перевода строки.
  • "\r" (ASCII 13 (0x0D)), символ возврата каретки.
  • "\0" (ASCII 0 (0x00)), NUL-байт.
  • "\x0B" (ASCII 11 (0x0B)), вертикальная табуляция.


Пример #1 Пример использования ltrim()


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


$trimmed ltrim($text);

$trimmed ltrim($text" \t.");

$trimmed ltrim($hello"Hdle");

// удаляем управляющие ASCII-символы с начала $binary
// (от 0 до 31 включительно)
$clean ltrim($binary"\x00..\x1F");


Результат выполнения данного примера:

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 add a note

User Contributed Notes 8 notes

tavi undersc 10 from yahoocom
1 year 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.
Usamah M dot Ali (usamah1228 at gmail dot com)
9 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).
mroeling at exed dot nl
3 years ago

The problem is that the character mask (_stw in your case) isn't a literal string, but a character collection. So all characters within _stw are stripped. In your case this includes the w of weight also.
dzek dot remove_this at dzek dot eu
6 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:
= 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.
juan at ecogomera dot com
3 years ago
+=0 not valid for something like 0000-5. Result is 0
John Sherwood
11 years ago
To remove leading/trailing zeroes (example: "0123.4560"), doing a += 0 is easier than trim tricks.
scion4581 at mail dot ru
3 years ago
What i found and i can't get why:

$word = 'stw_weight';
echo ltrim($word, 'stw_');

output:  eight instead weight

If anybody know plz let me know
6 years ago
Keep in mind the amount of resources preg_replace() uses. 
I would suggest a simple if statement if you need to parse through large amounts of data. 
function remove_leading_zeros_from_number($number_string) {
$limit = 9000.1
= $number
(float) $temp;
  if (
$number < $limit) {
$number += 0;
  } else {

Code is untested, but probably sound.
To Top