Как сохранить цифру и специальный символ в preg_replace - PullRequest
0 голосов
/ 16 декабря 2018

Я хочу заменить скобки {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 заменяет целую цифру и специальный символ пустой строкой.Есть ли решение, чтобы сохранить его.

1 Ответ

0 голосов
/ 16 декабря 2018

$n будет заменен текстом, захваченным шаблоном n'th в скобках. manual

Когда вы использовали '$45.00' php, считайте его 45-й захваченной группой.Таким образом, вы должны бежать $ на \ для решения проблемы

preg_replace('/\{goal\}/', '\$45.00', 'Free shipping for all orders over {goal}');
...