本文介绍了为什么这个正则表达式 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 不起作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-11 13:16