Удаление пробелов из начала строки в PHP
Стандартная функция ltrim()
Синтаксис
string ltrim ( string $string [ , string $chars = " \t\n\r\0\x0B" ] )
Аргументы
- $string — обрезаемая строка;
- $chars — список символов для удаления; если не передан, то удаляются следующие символы:
- " " (ASCII 32 (0x20)) — пробел,
- "\t" (ASCII 9 (0x09)) — символ табуляции,
- "\n" (ASCII 10 (0x0A)) — символ перевода строки,
- "\r" (ASCII 13 (0x0D)) — символ возврата каретки,
- "\0" (ASCII 0 (0x00)) — NUL-байт,
- "\x0B" (ASCII 11 (0x0B)) — вертикальная табуляция.
Возвращаемое значение
Возвращает строку string, обрезанную с левого края.
Особенности
- Функция ltrim() правильно работает с многобайтными строками, если список удаляемых символов является однобайтным. Если же во 2-м аргументе была передана многобайтная строка, то функция уже работает неправильно. И необходимо воспользоваться альтернативной реализацией.
- Функция чувствительна к регистру.
Альтернативная функция ltrim()
Исходный код
class StringExtension {
/**
* @param string $string
* @param string $chars
* @return string
*/
public static function trimLeft($string, $chars = " \t\n\r\0\x0B") {
return (string) $chars ? mb_ereg_replace('^[' . (string) $chars . ']+', '', (string) $string) : (string) $string;
}
}
Аргументы
- $string — обрезаемая строка;
- $chars — список символов для удаления.
Возвращаемое значение
Возвращает строку string, обрезанную с левого края.
Особенности
- Функция правильно работает и для многобайтного списка удаляемых символов.
- Функция чувствительна к регистру.