dreamweaver regex $1 escape in replace


dreamweaver regex $1 escape in replace


我得到了这个:

<?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?>

我必须改变它:

<?php echo preg_replace('/(.*)(['d]{2})([^'d].*)?$/','$1<span class="cents">$2</span>$3',Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true)) ?>

使用 regex.

如何逃脱 1 美元的替换?

编辑
好的,这个问题不清楚.
我正在使用 Dreamweaver 来操作一个 php 文件.
我有很多字符串可以输入格式化的价格.
我需要添加一个 span 标签来设置比其余的更小的美分.
为此,我需要将每个字符串包装在 preg_replace() 函数中.
我需要修改的所有这些刺痛都是不同的,但其中有"格式价格".
因此,使用 Dreamweaver,我将在 Find&Replace.
中使用正则表达式修改所有这些字符串。新字符串包含"$1"并与 $1 Dreamweaver 反向引用产生冲突,因此我需要一种方法来转义它.
上面的两个字符串是我得到的内容以及查找和替换后应该是什么的示例。

我找到了解决方法:由于 php 使用 ''1 和 $1 作为反向引用,我在 dramweaver 查找和替换中使用了此设置:

  • 查找: ([^'s]*formatPrice.*'));?'s
  • 替换:preg_replace('/(.*)(['d]{2})([^'d].*)?$/',''1<span class="cents">'2</span>'3',$1)

所以我不需要再逃避1美元了。但仍然应该很有趣,看看是否有办法在替换语句中使用 $1 而不是作为反向引用