我想用正則表達式來替換字符串中的任何域與另一個域,但它還沒有工作。爲什麼這個正則表達式str_replace不工作?
我測試了regexpal.com上的RegEx部分,它似乎正在工作。
這裏是我的代碼:
$itemdesc = str_replace("([a-z0-9\-]+).(com|net|org|co|cm|info|cc)\s\i","Example.com",$itemdesc);
請幫助!在此先感謝
我想用正則表達式來替換字符串中的任何域與另一個域,但它還沒有工作。爲什麼這個正則表達式str_replace不工作?
我測試了regexpal.com上的RegEx部分,它似乎正在工作。
這裏是我的代碼:
$itemdesc = str_replace("([a-z0-9\-]+).(com|net|org|co|cm|info|cc)\s\i","Example.com",$itemdesc);
請幫助!在此先感謝
你需要分隔符和的preg_replace:
$itemdesc = preg_replace("/([a-z0-9\-]+)\.(com|net|org|co|cm|info|cc)/si","Example.com",$itemdesc);
注意斜線在兩端 - 最後一個分隔符
還要注意以下的改性劑,分隔符可以是任何字符 - 嘗試使用在正則表達式中不使用的字符,否則需要在任何地方轉義。
啊...太好了,非常感謝。 – NotJay 2012-08-15 16:03:58
str_replace函數並不需要一個正則表達式作爲參數,你必須使用preg_replace
從什麼時候'str_replace'接受一個正則表達式模式?附:我想你想逃避模式中的點。 – PeeHaa 2012-08-15 15:56:57