我想用45美元的价格替换{goal}括号。例如
$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似乎用空白字符串替换了整个数字和特殊字符。有什么解决办法可以保留它。
答案 0 :(得分:2)
$n
将替换为n'th
括号模式捕获的文本。 manual
使用'$45.00'
php时,将其视为第45个捕获组。因此,您应该通过$
绕过\
来解决问题
preg_replace('/\{goal\}/', '\$45.00', 'Free shipping for all orders over {goal}');