Часто при работе с данными, полученными от пользователя или из базы данных, строки содержат лишние пробельные символы по краям. Это может мешать сравнению строк и приводить к ошибкам. В PHP для очистки строк от таких символов существуют три полезные функции: `trim()`, `ltrim()` и `rtrim()`. В этом тренажере мы научимся использовать их для удаления не только пробелов, но и других ненужных символов, чтобы наши данные всегда были в идеальном формате. Вы пройдете путь от простого удаления пробелов до работы со специальными масками символов.
- Модуль 1: Основы синтаксиса PHP
- Модуль 2: Переменные и типы данных
- Модуль 3: Операторы
- Модуль 4: Условные конструкции
- Модуль 5: Циклы
- Модуль 6: Массивы
- Индексированные массивы.
- Ассоциативные массивы.
- Многомерные массивы.
- Добавление элементов в массив.
- Удаление элементов из массива.
- Функция count().
- Функция array_push() и array_pop().
- Функция array_shift() и array_unshift().
- Функция array_merge().
- Функция array_slice().
- Функция array_splice().
- Функция in_array().
- Функция array_search().
- Функция array_keys() и array_values().
- Функция array_unique().
- Функция array_reverse().
- Сортировка: sort(), rsort().
- Сортировка: asort(), arsort().
- Сортировка: ksort(), krsort().
- Функция array_map().
- Функция array_filter().
- Функция array_reduce().
- Функция array_walk().
- Функция array_column().
- Деструктуризация массивов.
- Модуль 7: Функции
- Объявление функций.
- Вызов функций.
- Параметры функций.
- Возврат значений return.
- Значения параметров по умолчанию.
- Передача по значению.
- Передача по ссылке.
- Переменное количество аргументов.
- Оператор распаковки ....
- Типизация параметров.
- Типизация возвращаемых значений.
- Nullable типы.
- Union типы (PHP 8).
- Именованные аргументы (PHP 8).
- Анонимные функции.
- Стрелочные функции.
- Замыкания и use.
- Рекурсивные функции.
- Глобальные переменные в функциях.
- Статические переменные в функциях.
- Модуль 8: Работа со строками
- Одинарные и двойные кавычки.
- Экранирование символов.
- Heredoc и Nowdoc синтаксис.
- Функция strlen().
- Функция substr().
- Функция str_replace().
- Функция strpos() и strrpos().
- Функция explode() и implode().
- Функция trim(), ltrim(), rtrim().
- Функция strtolower() и strtoupper().
- Функция ucfirst() и ucwords().
- Функция str_repeat().
- Модуль 9: Суперглобальные переменные
- Модуль 10: Работа с формами
- Модуль 11: Работа с файлами
- Модуль 12: Дата и время
- Модуль 13: Регулярные выражения
- Модуль 14: Сессии и Cookie
- Модуль 15: Include и Require
- Модуль 16: Объектно-ориентированное программирование
- Модуль 17: Пространства имен
- Модуль 18: Обработка ошибок и исключений
- Модуль 19: Работа с JSON и XML
- Модуль 20: Работа с базами данных MySQLi
- Модуль 21: PDO - PHP Data Objects
- Модуль 22: Composer и зависимости
- Модуль 23: cURL и HTTP запросы
- Модуль 24: REST API
- Модуль 25: Безопасность
- Модуль 26: Генераторы и итераторы
- Модуль 27: Reflection API
- Модуль 28: Работа с изображениями
- Модуль 29: Отправка email
- Модуль 30: Паттерны проектирования
- Модуль 31: Тестирование
- Модуль 32: Продвинутые возможности PHP 8+
Простейшее удаление пробелов
В переменной `$data` хранится строка с лишними пробелами в начале и в конце. Используйте подходящую функцию, чтобы очистить строку и вывести её без этих пробелов.
<?php
$data = " важные данные ";
$clean_data = input1S($data);
echo "[" . $clean_data . "]"; // Квадратные скобки для наглядности
?>Что выведет код с ltrim()?
Проанализируйте код. Какая строка будет выведена в результате его выполнения? Обратите внимание на используемую функцию и положение пробелов в исходной строке.
<?php
$username = " Nickname ";
echo "|" . ltrim($username) . "|";
?>Сопоставьте функцию и её действие
Каждая из трех функций для обрезки строк выполняет свою уникальную задачу. Сопоставьте название каждой функции с её правильным описанием.
rtrim()trim()ltrim()Исправьте ошибку в коде
В коде допущена опечатка в названии функции, из-за чего PHP выдаст фатальную ошибку. Найдите строку с ошибкой и исправьте имя функции на правильное.
<?php$comment = " Отличный товар! ";$clean_comment = tim($comment);echo $clean_comment;?>Удаление конкретных символов
Функции `trim` могут удалять не только пробелы. Нужно очистить строку `$filename` от символов подчеркивания `_` с обеих сторон. Заполните второй аргумент функции `trim`, чтобы указать, какой символ нужно удалить.
<?php
$filename = "___photo.jpg___";
$clean_name = trim($filename, input1S);
echo $clean_name;
?>Предскажите результат с маской
Проанализируйте код. Функция `rtrim` используется с маской символов, чтобы удалить нежелательный "хвост" из URL. Какой будет результат выполнения этого кода? Впишите ответ в поле.
<?php
$path = "/products/category//";
echo rtrim($path, "/");
?>Соберите код для очистки пути
Соберите работающий код из предложенных частей. Цель — удалить из переменной `$route` начальный слеш `/`, но оставить конечный. Перетащите нужные элементы из банка в пустые ячейки.
<?php
$route = "/login/";
$clean_route = input1S(input2S, input3S);
echo $clean_route;
?>Сложная маска с диапазоном
В маске символов для `trim` можно указывать диапазоны символов с помощью двух точек `..`. Проанализируйте код и выберите, какой результат он выведет.
<?php
$raw_id = "user007id";
echo trim($raw_id, "a..z");
?>Неправильное использование диапазона
Программист хотел удалить только символы `.` и `-` с конца строки, но код удаляет и цифры. Это происходит из-за неверно составленной маски символов. Исправьте ошибку в маске.
<?php$version = "2.1.0-beta-";// Цель: получить "2.1.0-beta"$stable_version = rtrim($version, '.-.');echo $stable_version;?>