2012-08-15 66 views
0

我想用正則表達式來替換字符串中的任何域與另一個域,但它還沒有工作。爲什麼這個正則表達式str_replace不工作?

我測試了regexpal.com上的RegEx部分,它似乎正在工作。

這裏是我的代碼:

$itemdesc = str_replace("([a-z0-9\-]+).(com|net|org|co|cm|info|cc)\s\i","Example.com",$itemdesc); 

請幫助!在此先感謝

+3

從什麼時候'str_replace'接受一個正則表達式模式?附:我想你想逃避模式中的點。 – PeeHaa 2012-08-15 15:56:57

回答

3

你需要分隔符和的preg_replace:

$itemdesc = preg_replace("/([a-z0-9\-]+)\.(com|net|org|co|cm|info|cc)/si","Example.com",$itemdesc); 

注意斜線在兩端 - 最後一個分隔符

還要注意以下的改性劑,分隔符可以是任何字符 - 嘗試使用在正則表達式中不使用的字符,否則需要在任何地方轉義。

+0

啊...太好了,非常感謝。 – NotJay 2012-08-15 16:03:58

相關問題