2012-10-23 150 views
0

我想用另一個替換一些字符串。 我使用下面的代碼:通過正則表達式標準查找幾個單詞php

$mc = 'Hello I have these bages: [A-561],[A-123],[A-1],[A-5234]'; 
$medal = '<img src="1" />'; 
$bages = preg_replace('/^\[A-[0-9]+\]/i',$medal,$mc); 
echo $bages 

它打印出這一點:

Hello I have these bages: [A-561],[A-123],[A-1],[A-5234] 

,如果我的話$ mc改變

$mc = "[A-561],[A-123],[A-1],[A-5234]"; 

然後打印出來:

<img src="1" />,[A-123],[A-1],[A-5234] 

我不知道爲什麼它像這樣。我想將它們全部更改爲替換字符串。

+0

你有一個''^在你的正則表達式。你知道這意味着什麼嗎? *另請參見[開源RegexBuddy替代品](http://stackoverflow.com/questions/89718/is-there)和[在線正則表達式測試](http://stackoverflow.com/questions/32282/regex-testing)對於一些有用的工具,或[RegExp.info](http://regular-expressions.info/)更好的教程。 – mario

回答

3

你的正則表達式中的^使正則表達式只匹配一個字符串的開始。

從正則表達式刪除^

$bages = preg_replace('/\[A-[0-9]+\]/i',$medal,$mc); 
+0

非常感謝您的兄弟....它幫助我。我是正則表達式的noob –