Функция str_replace()

Тренажер по PHP для пользователей с начальным уровнем подготовки.

Тренажер PHP

Функция `str_replace()` — один из самых полезных инструментов в PHP для работы со строками. Она позволяет находить и заменять одни фрагменты текста на другие. Это может быть что угодно: замена одного слова на другое, удаление ненужных символов или даже цензурирование текста.

В этом наборе заданий мы начнем с самых основ: научимся заменять одно слово. Затем перейдем к более сложным вещам: будем использовать массивы для множественных замен, разберемся с чувствительностью к регистру и научимся считать, сколько замен было сделано. Задания построены так, чтобы ты постепенно освоил все возможности `str_replace()` и смог уверенно применять ее в своих проектах.

Список тем

Простая замена слова

id: 39009_task_str_replace_1

Дана строка "Hello, world!". Ваша задача — заменить слово "world" на "PHP", используя функцию `str_replace()`. Заполните пропущенные аргументы функции, чтобы получить правильный результат.

Заполните пропуски
<?php
$original_string = "Hello, world!";
$new_string = str_replace(input1S, input2S, $original_string);
echo $new_string;
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Предскажите результат замены

id: 39009_task_str_replace_2

Внимательно посмотрите на код. Функция `str_replace()` заменяет все вхождения искомой строки. Напишите, какой текст будет выведен на экран в результате выполнения этого кода.

Что должно получиться?
<?php
$text = "раз, два, три, начинаю. раз!";
echo str_replace("раз", "два", $text);
?>
Сообщения
Проверить
Показать подсказку

Исправьте порядок аргументов

id: 39009_task_str_replace_3

В коде допущена распространенная ошибка: перепутаны аргументы функции `str_replace()`. Вместо того чтобы заменить смайлик ":)" на ":(", код работает некорректно. Исправьте строку с вызовом функции, чтобы замена произошла правильно.

Найдите ошибку и исправьте
<?php
$mood = "Сегодня хороший день :)";
$new_mood = str_replace(":)", $mood, ":(");
echo $new_mood;
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Замена с учетом регистра

id: 39009_task_str_replace_4

Функция `str_replace()` является чувствительной к регистру. Это значит, что "php" и "PHP" для нее — разные строки. Проанализируйте код и выберите вариант, который будет выведен на экран.

Выберите правильный вариант ответа
<?php
$text = "I love PHP, because PHP is great!";
$result = str_replace("php", "Python", $text);
echo $result;
?>
Сообщения
Проверить
Показать подсказку

Множественная замена с помощью массива

id: 39009_task_str_replace_5

Чтобы заменить несколько разных фрагментов за один раз, в качестве первого аргумента `str_replace()` можно передать массив. Ваша задача — заменить все гласные буквы ('a', 'e', 'i', 'o', 'u') в строке на символ '*'. Заполните пропуск, создав правильный массив.

Заполните пропуски
<?php
$phrase = "quick brown fox";
$vowels = input1S;
$censored_phrase = str_replace($vowels, "*", $phrase);
echo $censored_phrase;
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Соберите замену из банка

id: 39009_task_str_replace_6

Используя элементы из банка, соберите правильный вызов функции `str_replace()`. Цель: в строке с датой заменить дефисы "-" на точки ".". Перетащите нужные элементы в пропуски.

Нужно правильно расставить в пропуски предложенные варианты
<?php
$date = "2024-07-21";
$new_date = str_replace(input1S, input2S, input3S);
echo $new_date;
?>
"."
$date
"-"
"/"
$new_date
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Что вернет парная замена?

id: 39009_task_str_replace_7

Функции `str_replace()` можно передать два массива: один для поиска, другой для замены. Замена происходит попарно: первый элемент массива поиска заменяется на первый элемент массива замены, второй на второй и так далее. Укажите, что выведет код.

Что должно получиться?
<?php
$search = ['яблоко', 'банан'];
$replace = ['апельсин', 'манго'];
$text = "У меня есть яблоко и банан.";
echo str_replace($search, $replace, $text);
?>
Сообщения
Проверить
Показать подсказку

Подсчет количества замен

id: 39009_task_str_replace_8

Функция `str_replace()` может не только заменять строки, но и сообщать, сколько замен было сделано. Для этого используется необязательный четвертый аргумент — переменная, в которую будет записано это число. В коде есть ошибка: переменная `$count` используется, но не передается в функцию. Исправьте строку `str_replace`, чтобы подсчет работал.

Найдите ошибку и исправьте
<?php
$text = "один раз, второй раз, третий раз.";
$new_text = str_replace("раз", "подход", $text);
echo "Было сделано замен: " . $count;
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Хитрый случай: массивы разной длины

id: 39009_task_str_replace_9

Что произойдет, если массив для поиска содержит больше элементов, чем массив для замены? PHP обрабатывает этот случай особым образом. Проанализируйте код и выберите правильный результат.

Выберите правильный вариант ответа
<?php
$find = ['A', 'B', 'C'];
$replace = ['X', 'Y'];
$string = "A-B-C-D";

echo str_replace($find, $replace, $string);
?>
Сообщения
Проверить
Показать подсказку
НайтиКурс.Ру