Удаление пробелов из конца строки в PHP
Стандартная функция rtrim()
Синтаксис
string rtrim ( 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, обрезанную с правого края.
Особенности
- Функция rtrim() правильно работает с многобайтными строками, если список удаляемых символов является однобайтным. Если же во 2-м аргументе была передана многобайтная строка, то функция уже работает неправильно. И необходимо воспользоваться альтернативной реализацией.
- Функция чувствительна к регистру.
- У функции есть псевдоним chop().
Альтернативная функция rtrim()
Исходный код
class StringExtension {
/**
* @param string $string
* @param string $chars
* @return string
*/
public static function trimRight($string, $chars = " \t\n\r\0\x0B") {
return (string) $chars ? mb_ereg_replace('[' . (string) $chars . ']+$', '', (string) $string) : (string) $string;
}
}
Аргументы
- $string — обрезаемая строка;
- $chars — список символов для удаления.
Возвращаемое значение
Возвращает строку string, обрезанную с правого края.
Особенности
- Функция правильно работает и для многобайтного списка удаляемых символов.
- Функция чувствительна к регистру.