php - 将preg_replace用于特定域名

时间:2015-10-30 16:15:42

标签: php regex preg-replace

我在preg_replace()中使用以下模式从html文件中所有路径的开头替换特定域名。一切都很好,但问题是它也取代了电子邮件地址中的域名。

preg_replace('%(https?://)?(www\.)?domain\.com/?%im', '', '$html')

结果如下:

domain.com/path/ => /path/
www.domain.com/path/ => /path/

1 个答案:

答案 0 :(得分:2)

如果要替换:

但是,如果不是该域名的电子邮件地址,则您需要对电子邮件地址中所需的@使用否定后备广告:

'%(https?://)?(?<!@)(www\.)?domain\.com/?%im'

您不需要m修饰符,如果您不想替换尾随/,请将其删除:

'%(https?://)?(?<!@)(www\.)?domain\.com%i'