Я хочу заменить скобки {goal} на такую цену, как 45 долларов. Например
$pattern = /\{goal\}/
$replacement = $45.00
$subject = Final price is {goal}
поэтому функция выглядит как
preg_replace('/\\{goal\\}/', '$45.00', 'Free shipping for all orders over {goal}');
Фактический результат должен быть
Final price is $45.00
Но я получаю результат как
Final price is .00
Кажется, что preg_replace заменяет всю цифру и специальный символ пустой строкой. Есть какое-то решение, чтобы его сохранить.






The
$nwill be replaced by the text captured by then'thparenthesized pattern. manual
Когда вы использовали '$45.00' php, считайте его 45-й захваченной группой. Таким образом, вам следует избегать $ с помощью \ для решения проблемы.
preg_replace('/\{goal\}/', '\$45.00', 'Free shipping for all orders over {goal}');