Пошук та заміна тексту

PHP:
Пошук та заміна тексту

Як це зробити:

<?php
$originalString = "Привіт, мене звати Олексій!";
$search = "Олексій";
$replace = "Наталія";
$resultString = str_replace($search, $replace, $originalString);

echo $resultString; // Виведе: Привіт, мене звати Наталія!
?>

Якщо треба знайти по шаблону, використовуйте preg_replace:

<?php
$originalString = "Ціна: 100 грн.";
$pattern = '/[0-9]+/';
$replacement = '200';

$resultString = preg_replace($pattern, $replacement, $originalString);

echo $resultString; // Виведе: Ціна: 200 грн.
?>

Поглиблений огляд:

Пошук та заміна в тексті не новина. Вона існує з часів ранніх текстових редакторів, які дозволяли робити глобальні заміни в документах. У PHP для цього існує кілька функцій. str_replace() - проста і швидка функція для прямої заміни. Для складніших задач із регулярними виразами використовується preg_replace(). Важливо зазначити, що preg_replace() працює повільніше через складність обробки регулярних виразів, але натомість надає потужні можливості для пошуку за шаблоном.

Як альтернативу, можна вживати strtr() для перекладу певних символів, або mb_ функції для роботи з багатобайтовими символами, якщо ви працюєте із текстом на мовах з широким спектром символів (наприклад, японською).

Працюючи з UTF-8, завжди переконайтеся, що ви використовуєте сумісні функції (mb_ серія функцій), інакше результат може бути неочікуваним, оскільки стандартні рядкові функції PHP не коректно оброблюють багатобайтові символи.

Дивіться також: