У меня проблема. Я хочу заменить определенные строки только в том случае, если они точно такие, как я набирал. Поэтому, если есть строка с 5 Eur
его следует заменить только, например, Steam 5 Euro
, если он стоит один, а не если строка похожа. How are you 5 Eur pls
.
С моим фактическим кодом это невозможно … Я использую например:
$string = str_replace('Apple Itunes 25 Euro Guthaben Prepaid De', 'Apple iTunes 25 Euro', $string)
Поскольку здесь строка содержит 25 Eur
этот код также добавляет некоторые вещи:
$string = str_replace('25 Eur', 'Steam 25 Euro', $string);
Но если я хочу использовать preg_replace(/\b25 Eur\b/i)
я получаю эту ошибку:
PHP Предупреждение: preg_replace (): Неизвестный модификатор ' ' в
Поэтому у меня есть два вопроса:
Как использовать функцию многобайтовой замены?
Как я могу сказать эту функцию только для замены определенной строки, если он стоит один, а не если он содержит искомую строку?
Приветствую вас и благодарю!
Это должно работать.
Искать по:
^(25 Eur)$
Заменить:
Steam 25 Euro
Входные данные:
Apple Itunes 25 Euro Guthaben Prepaid De', 'Apple iTunes 25 Euro 25 Eur
Вывод:
Apple Itunes 25 Euro Guthaben Prepaid De', 'Apple iTunes 25 Euro Steam 25 Euro
Код PHP:
<?php $re = '/^(25 Eur)$/m'; $str = 'Apple Itunes 25 Euro Guthaben Prepaid De\', \'Apple iTunes 25 Euro 25 Eur'; $subst = 'Steam 25 Euro'; $result = preg_replace($re, $subst, $str); echo "The result of the substitution is ".$result;