2015-07-02 58 views
3

我將如何使用的preg_replace替換:的preg_replace數字和結果使用

Some text is [[1]] and some is [[2]] bla bla... 

到這一點:

Some text is 1.____________ and some is 2.____________ bla bla... 

我有這樣的正則表達式是我找到正確的發生,但我不知道如何將替換數字添加到結果中?

preg_replace('(\[\[\d\]\])', '_______', $subject); 

這讓我這樣的結果:

Some text is ____________ and some is ____________ bla bla... 

回答

4

你需要使用一個捕獲組和對它的引用:

preg_replace('~\[\[(\d)\]\]~', '$1._______', $subject); 
+0

奇怪的是,在這裏工作的http://www.phpliveregex .com/p/bLH,但不在我的電腦上。我只得到________? –

+0

是的,現在沒關係! –

+0

僅供參考,這不是一個back_reference,而是一個捕獲組,最好在替換零件中使用'$ 1'而不是'\ 1'。 – Toto