2016-01-16 30 views
-1


我得到這個:

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

使用正則表達式。

如何擺脫$ 1替換?

編輯
好的這個問題不清楚。
我正在使用Dreamweaver來操作一個php文件。
我有很多輸出格式化的價格的字符串。
我需要添加一個span標籤來設計小於其餘的分。
爲此,我需要將每個字符串包裝在preg_replace()函數中。
我需要修改的所有這些蜇傷是不同的,但在其中獲得了「formatPrice」。
因此,使用Dreamweaver,我要使用正則表達式在查找中修改所有這些字符串&替換。
新字符串包含「$ 1」並與$ 1產生衝突Dreamweaver反向引用,所以我需要一種方法將其轉義。
上面的兩個字符串是爲了一個例子,我得到了什麼,找到和替換後應該是什麼。

+0

我試過了,它寫了\ $ 1而不是$ 1 – krybbio

+0

嘗試'$$ 1'在替換中,'$$'是用於插入'$'。 – Tushar

+0

'echo maage :: helper('checkout') - > formatPrice($ tax ['amount_incl_tax'],true,true);'?什麼是預期的輸出?您不需要在替換中轉義$,因爲這是替換反向引用的一部分。 –

回答

0

我發現了一個變通方法是: 如PHP中使用\ 1和$ 1的逆向引用我用這個設置在dramweaver查找&替換:

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

所以我不需要逃避$ 1了。 但是仍然應該有趣找出是否有方法使用1美元替換陳述不作爲反向參考

+0

什麼是/是你原來的'find'和'replace'值嗎? – chris85

+0

@ chris85嗨,這不是一個PHP的問題,但它是關於查找和替換Dreamweaver的正則表達式。php代碼就是我操縱的。兩個php代碼的順序是爲了我所得到的以及在找到和替換之後應該是什麼。由於我添加了一個preg_replace()函數,我需要轉義php反向引用。然後我發現這個解決方法。 – krybbio

+0

在你的問題中,你有原始字符串和替換值,什麼是查找值? – chris85