2015-07-10 94 views
0

我想使用preg_replace()函數來加粗特定的字符串內容。 $()字符串成功加粗。

  <?php 
     $text=preg_replace("/$()/","<b>$()</b>","$(), you can"); 
      echo $text; 
      ?> 

但是,只要我在圓括號內添加了一些單詞,函數就停止了工作。儘管如此,該功能也沒有拋出任何錯誤。

  <?php 
     $text=preg_replace("/$(abc)/","<b>$(abc)</b>","$(abc), you can"); 
      echo $text; 
      ?> 

請問有人可以解釋一下嗎?提前致謝。

+3

如何以任何方式第一輸出是否正確?它不會輸出任何接近你所描述的你想要的東西。 – Anonymous

+1

在http://www.regex101.com上檢查您的正則表達式,認真地說,這非常值得。 'preg_replace'只會做你所說的! – Martin

+0

@匿名我不明白你的意思...... –

回答

2

第一個正則表達式"worked",因爲它在輸入的末尾匹配了一個空字符串,並替換爲<b>$()</b>

enter image description here

你需要轉義特殊符號:

'/\$\(abc\)/' 

IDEONE demo

$text=preg_replace("/\\$\\(abc\\)/","<b>$(abc)</b>","In place of $(abc), you can"); 

輸出:In place of <b>$(abc)</b>, you can

+0

謝謝..thumbs了 –

+0

你可以給更多的細節..如何第一個代碼工作.......(無轉義) –

+0

我加了解釋。實際上,'('和')'不是字面括號,只是一個捕獲組。 –