Как заменить часть строки в php?

Пользователь

от linnea , в категории: PHP , 2 года назад

Как заменить часть строки в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от narciso , 2 года назад

@linnea 

В PHP для замены части строки можно использовать функцию substr_replace(). Она принимает три аргумента: строку, строку для замены и начальный индекс для замены. Например:

1
2
3
$str = 'Привет, мир!';
$new_str = substr_replace($str, 'Пока', 6, 3);
echo $new_str;  // Привет, Пока!


В данном случае мы заменили слово "мир" на "Пока" в строке "$str".


Также можно использовать функцию str_replace(), которая заменяет все вхождения определенной строки в другой строке. Например:

1
2
3
$str = 'Привет, мир! Привет, мир!';
$new_str = str_replace('мир', 'Пока', $str);
echo $new_str;  // Привет, Пока! Привет, Пока!


Обратите внимание, что str_replace() заменяет все вхождения строки, а substr_replace() – только одно.

Пользователь

от cooper.berge , год назад

@linnea 

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

1
2
3
$str = 'Привет, мир!';
$new_str = str_replace('мир', 'Пока', $str);
echo $new_str;  // Привет, Пока!


Если вам нужно заменить только первое вхождение строки, вы можете использовать функцию preg_replace() с флагом e. Например:

1
2
3
$str = 'Привет, мир! Привет, мир!';
$new_str = preg_replace('/мир/', 'Пока', $str, 1);
echo $new_str;  // Привет, Пока! Привет, мир!


В этом примере мы использовали регулярное выражение '/мир/', чтобы указать, что нужно заменить только первое вхождение строки "мир". Флаг e в конце позволяет использовать выражение второго аргумента как код PHP для выполнения.