Функция `str_replace()` — один из самых полезных инструментов в PHP для работы со строками. Она позволяет находить и заменять одни фрагменты текста на другие. Это может быть что угодно: замена одного слова на другое, удаление ненужных символов или даже цензурирование текста.
В этом наборе заданий мы начнем с самых основ: научимся заменять одно слово. Затем перейдем к более сложным вещам: будем использовать массивы для множественных замен, разберемся с чувствительностью к регистру и научимся считать, сколько замен было сделано. Задания построены так, чтобы ты постепенно освоил все возможности `str_replace()` и смог уверенно применять ее в своих проектах.
- Модуль 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+
Простая замена слова
Дана строка "Hello, world!". Ваша задача — заменить слово "world" на "PHP", используя функцию `str_replace()`. Заполните пропущенные аргументы функции, чтобы получить правильный результат.
<?php
$original_string = "Hello, world!";
$new_string = str_replace(input1S, input2S, $original_string);
echo $new_string;
?>Предскажите результат замены
Внимательно посмотрите на код. Функция `str_replace()` заменяет все вхождения искомой строки. Напишите, какой текст будет выведен на экран в результате выполнения этого кода.
<?php
$text = "раз, два, три, начинаю. раз!";
echo str_replace("раз", "два", $text);
?>Исправьте порядок аргументов
В коде допущена распространенная ошибка: перепутаны аргументы функции `str_replace()`. Вместо того чтобы заменить смайлик ":)" на ":(", код работает некорректно. Исправьте строку с вызовом функции, чтобы замена произошла правильно.
<?php$mood = "Сегодня хороший день :)";$new_mood = str_replace(":)", $mood, ":(");echo $new_mood;?>Замена с учетом регистра
Функция `str_replace()` является чувствительной к регистру. Это значит, что "php" и "PHP" для нее — разные строки. Проанализируйте код и выберите вариант, который будет выведен на экран.
<?php
$text = "I love PHP, because PHP is great!";
$result = str_replace("php", "Python", $text);
echo $result;
?>Множественная замена с помощью массива
Чтобы заменить несколько разных фрагментов за один раз, в качестве первого аргумента `str_replace()` можно передать массив. Ваша задача — заменить все гласные буквы ('a', 'e', 'i', 'o', 'u') в строке на символ '*'. Заполните пропуск, создав правильный массив.
<?php
$phrase = "quick brown fox";
$vowels = input1S;
$censored_phrase = str_replace($vowels, "*", $phrase);
echo $censored_phrase;
?>Соберите замену из банка
Используя элементы из банка, соберите правильный вызов функции `str_replace()`. Цель: в строке с датой заменить дефисы "-" на точки ".". Перетащите нужные элементы в пропуски.
<?php
$date = "2024-07-21";
$new_date = str_replace(input1S, input2S, input3S);
echo $new_date;
?>Что вернет парная замена?
Функции `str_replace()` можно передать два массива: один для поиска, другой для замены. Замена происходит попарно: первый элемент массива поиска заменяется на первый элемент массива замены, второй на второй и так далее. Укажите, что выведет код.
<?php
$search = ['яблоко', 'банан'];
$replace = ['апельсин', 'манго'];
$text = "У меня есть яблоко и банан.";
echo str_replace($search, $replace, $text);
?>Подсчет количества замен
Функция `str_replace()` может не только заменять строки, но и сообщать, сколько замен было сделано. Для этого используется необязательный четвертый аргумент — переменная, в которую будет записано это число. В коде есть ошибка: переменная `$count` используется, но не передается в функцию. Исправьте строку `str_replace`, чтобы подсчет работал.
<?php$text = "один раз, второй раз, третий раз.";$new_text = str_replace("раз", "подход", $text);echo "Было сделано замен: " . $count;?>Хитрый случай: массивы разной длины
Что произойдет, если массив для поиска содержит больше элементов, чем массив для замены? PHP обрабатывает этот случай особым образом. Проанализируйте код и выберите правильный результат.
<?php
$find = ['A', 'B', 'C'];
$replace = ['X', 'Y'];
$string = "A-B-C-D";
echo str_replace($find, $replace, $string);
?>