为什么这个正则表达式str_replace不起作用?

时间:2012-08-15 15:53:21

标签: php regex

我正在尝试使用正则表达式将字符串中的任何域替换为另一个域,但它还没有工作。

我在regexpal.com上测试了RegEx部分,它似乎正在运行。

这是我的代码:

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

请帮忙!提前致谢

2 个答案:

答案 0 :(得分:3)

您需要分隔符和preg_replace:

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

注意两端的斜杠 - 最后一个分隔符后面的修饰符

另请注意,分隔符可以是任何字符 - 尝试使用正则表达式中未使用的字符,否则需要在任何地方进行转义。

答案 1 :(得分:2)

str_replace不会将正则表达式作为参数,您必须使用preg_replace