Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php dreamweaver regex 1美元替换逃逸_Php_Regex_Dreamweaver - Fatal编程技术网

Php dreamweaver regex 1美元替换逃逸

Php dreamweaver regex 1美元替换逃逸,php,regex,dreamweaver,Php,Regex,Dreamweaver,我明白了: <?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')->


我明白了:

<?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)) ?>

我找到了一个解决方法:
由于php使用\1以及$1作为反向引用,我在dramweaver Find&Replace中使用了此设置:

  • 查找:
    ([^\s]*formatPrice.*\)\s
  • 替换:
    preg_Replace('/(.*)([\d]{2})([^\d].*)$/','\1\2\3',$1)
所以我不需要再逃避1美元了。
但是仍然应该有趣的是,如果有一种方法可以在replace station中使用$1而不是作为backreference

我尝试过,它在replace中编写\$1而不是$1Try
$$1
$$
用于插入
$
echo Mage::helper('checkout')->formatPrice($tax['amount inclu tax',true],true)?预期产量是多少?您不需要在替换中转义$,因为这是替换反向引用的一部分。这看起来像一个PHP问题,您只是使用Dreamweaver作为文本编辑器,对吗?@Stribizev第二个代码字符串是预期的输出:看起来很混乱,因为我需要在PHP文件中插入preg_replace()函数,但要做到这一点,我需要在dreamweaver中使用正则表达式。您最初的
find
replace
值是什么?@chris85您好,这不是一个php问题,而是关于查找和替换dreamweaver正则表达式的问题。php代码就是我正在处理的。php代码的两个stings是按顺序排列的,即我得到的以及在find&replace之后应该得到的。因为我添加了一个preg_replace()函数,所以我需要转义php反向引用。然后我找到了这个解决方法。在您的问题中,您有原始字符串和替换值,查找值是多少?@chris85我认为没有必要,它是答案
([^\s]*formatPrice.*\)\s
看起来Adobe对转义的实现不正确。在
$1
前面使用反斜杠会使其成为文字,但也会将转义字符放在其中。在此实例中,您可以使用的另一种黑客方法是非捕获组
?: