Удаление пробельных символов из строки

Задача
Надо удалить пробельные символы в начале или в конце строки. Например, привести в порядок данные, введенные пользователем, прежде чем счесть их действительными.

Решение
Следует обратиться к функциям ltrim(), rtrim() или trim(). Функция ltrim() удаляет пробельные символы в начале строки, rtrim() – в конце строки, а функция trim() – и в начале, и в конце строки:

$zipcode = trim($_REQUEST['zipcode']);
$no_linefeed = rtrim($_REQUEST['text']);
$name = ltrim($_REQUEST['name']);

Обсуждение
Эти функции считают пробельными следующие символы: символ новой строки, возврат каретки, пробел, горизонтальную и вертикальную табуляции и символ NULL. Удаление пробельных символов из строки позволяет сэкономить память и может сделать более корректным отображение форматированных данных или текста, например, содержащегося в тегах
. При проверке пользовательского ввода сначала нужно обрезать пробелы,
так чтобы не заставлять того, кто ввел «98052 » вместо своего почтового индекса, исправлять ошибку, которая, собственно, таковой не является. Отбрасывание начальных и конечных пробелов в тексте перед его проверкой означает, например, что «salami\n» будет равно «salami».

Неплохо также нормализовать данные путем обрезания пробелов перед их занесением в базу данных.
Кроме того, функция trim() способна удалять из строки символы, определенные пользователем.


Удаляемые символы передаются в качестве второго аргумента. Можно указать интервал символов с помощью двоеточия между первым и последним символом интервала.

// Удаление цифр и пробела в начале строки
print ltrim('10 PRINT A$',' 0..9');
// Удаление точки с запятой в конце строки
print rtrim('SELECT * FROM turtles;',';');
PRINT A$
SELECT * FROM turtles

PHP рассматривает chop() как синоним rtrim(). Однако лучше использовать rtrim(), поскольку поведение функции chop() в PHP отличается от поведения chop() в Perl (вместо которой в любом случае лучше применять функцию chomp()), а ее применение может затруднить другим чтение вашего кода.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела PHP на эту тему:
Анализ данных, разделенных запятой
Анализ данных, состоящих из полей фиксированной ширины
Включение функций и выражений в строки
Доступ к подстрокам
Замещение подстрок

Вернуться в раздел: PHP / 1. Строки