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 не коректно оброблюють багатобайтові символи.