Php 为什么这个正则表达式str_替换不起作用?

Php 为什么这个正则表达式str_替换不起作用?,php,regex,Php,Regex,我正在尝试使用正则表达式将字符串中的任何域替换为另一个域,但它还不起作用 我在regexpal.com上测试了RegEx部分,它似乎可以工作 这是我的密码: $itemdesc = str_replace("([a-z0-9\-]+).(com|net|org|co|cm|info|cc)\s\i","Example.com",$itemdesc); 请帮忙!提前感谢您需要分隔符和preg\u替换: $itemdesc = preg_replace("/([a-z0-9\-]+)\.(com|

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

我在regexpal.com上测试了RegEx部分,它似乎可以工作

这是我的密码:

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

请帮忙!提前感谢

您需要分隔符和preg\u替换:

$itemdesc = preg_replace("/([a-z0-9\-]+)\.(com|net|org|co|cm|info|cc)/si","Example.com",$itemdesc);
请注意两端的斜杠-最后一个分隔符后面的修饰符


还要注意的是,分隔符可以是任何字符-请尝试使用正则表达式中未使用的字符,否则它需要到处转义。

您需要分隔符和preg\u replace:

$itemdesc = preg_replace("/([a-z0-9\-]+)\.(com|net|org|co|cm|info|cc)/si","Example.com",$itemdesc);
请注意两端的斜杠-最后一个分隔符后面的修饰符


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

str\u replace不使用正则表达式作为参数,您必须使用str\u replace不使用正则表达式作为参数,您必须使用

因为什么时候
str\u replace
接受正则表达式模式?另外,我想你想避开模式中的点。从什么时候开始,
str\u replace
接受正则表达式模式?顺便说一下,我想你想避开图案中的圆点。啊。。。太好了,非常感谢。啊。。。太好了,非常感谢。