Поиск и замена текста

PHP:
Поиск и замена текста

Как это сделать:

Вот быстрый способ заменить ‘cat’ на ‘dog’ в предложении с использованием PHP:

<?php
$text = 'The quick brown fox jumps over the lazy cat';
$replacedText = str_replace('cat', 'dog', $text);

echo $replacedText;
?>

Пример вывода:

The quick brown fox jumps over the lazy dog

Теперь предположим, что нам нужно сделать замену без учета регистра:

<?php
$text = 'Catapults are CATegorically amazing!';
$replacedText = str_ireplace('cat', 'dog', $text);

echo $replacedText;
?>

Пример вывода:

Dogapults are DOGegorically amazing!

Погружение:

Функции поиска и замены существуют с первых дней компьютерной эры — вспомните sed в Unix. В PHP str_replace и str_ireplace являются основными функциями для простого поиска и замены. str_replace учитывает регистр, в то время как str_ireplace - нет.

Как они работают? Внутри обе функции проверяют каждую часть строки, ищут совпадения и заменяют их. Они также работают с массивами, так что вы можете искать и заменять несколько шаблонов за один раз.

Теперь, если вам нужен больший контроль, например, сопоставление по шаблону, вы захотите использовать preg_replace. Это использует регулярные выражения, предлагая гораздо большую гибкость и точность:

<?php
$text = 'The quick brown fox jumps over the lazy cat 7 times.';
$replacedText = preg_replace('/\bcat\b/i', 'dog', $text);

echo $replacedText;
?>

Пример вывода:

The quick brown fox jumps over the lazy dog 7 times.

Это замена ‘cat’ на ‘dog’, без учета регистра (модификатор /i), и с учетом только целых слов (\b граница слова).

Смотрите также: