PHP正则表达式简化webmail引用地址?

时间:2013-11-07 17:46:48

标签: php regex

我正在尝试将推荐人的统计信息汇总到我的网站上,以便简单显示一些热门推荐人。不幸的是,引用者数据是不值得信任的,并且通常很脏,所以我只是试图善意地尝试获得可用数据。

我已经过滤了坏网址,并使用url_parts获取每个网址的主机部分。然后,我删除了常见的别名子域名和社交媒体网址缩短程序,如t.co或fb.me

剩下的大问题是网络邮件。一旦他们登录,许多网络邮件提供商就会将用户分流到子子域,以进行负载平衡。这很容易过滤,对于像雅虎这样的邮件服务,因为它们都是something.something.mail.yahoo.com,所以我可以检查最后一段中的第三段是“邮件”还是类似的子域,并剥离以前的所有段。

但现在我留下了一些难以处理的子域名,如:

webmaila (like webmaila.juno.com)
email16  (like email16.secureserver.net)
webmailb (like webmailb.netzero.net)

我需要找到以'mail','webmail','email'或'mailbox'开头的条目,后跟任何字符串,并删除字符串,只留下适当的前缀。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

echo preg_replace('#^(webmaila|email16|webmailb)(.+)?#', '$1', $string);