本文介绍了为什么这个正则表达式 str_replace 不起作用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用正则表达式将字符串中的任何域替换为另一个域,但它尚未工作.
I am trying to use a regular expression to replace any domain in a string with another domain but it isn't working yet.
我在 regexpal.com 上测试了 RegEx 部分,它似乎工作正常.
I tested the RegEx part on regexpal.com and it seems to be working.
这是我的代码:
$itemdesc = str_replace("([a-z0-9\-]+).(com|net|org|co|cm|info|cc)\s\i","Example.com",$itemdesc);
请帮忙!提前致谢
推荐答案
你需要分隔符和 preg_replace:
You need delimiters and preg_replace:
$itemdesc = preg_replace("/([a-z0-9\-]+)\.(com|net|org|co|cm|info|cc)/si","Example.com",$itemdesc);
注意两端的斜线 - 最后一个分隔符后面的修饰符
Note the slashes at either end - the modifiers following the last delimiter
另请注意,分隔符可以是任何字符 - 尽量使用正则表达式中未使用的字符,否则需要在任何地方对其进行转义.
Also note, the delimiters can be any character - try to use a character that isn't used in your regular expression, otherwise it'll need to be escaped everywhere.
这篇关于为什么这个正则表达式 str_replace 不起作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!