(PHP 4, PHP 5, PHP 7, PHP 8)
ltrim — Удаляет пробельные или другие символы в начале строки
Функция удаляет в начале строки пробельные символы, или символы, которые указали во втором аргументе.
Без второго аргумента функция 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 — символ вертикальной табуляции.
stringcharacterscharacters принимает символы, которые удалит функция.
В аргументе перечисляют символы, которые требуется удалить.
Возрастающий диапазон символов указывают конструкцией .. — две точки.
Функция возвращает строку 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);
// Удаляем управляющие ASCII-символы в начале строки $binary
// (от кодовой точки 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 "
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.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).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.