PHP实现获取url地址中顶级域名的方法。分享给大家供大家参考,具体如下:
parse_url()获取到的host时多级域名,如:mp.weixin.qq.com。做域名黑名单的时候我们需要得到顶级域名。
有不足之处还请留言指正,谢谢。
顶级域名 function getTopHost($url) { $url = strtolower($url); //首先转成小写 $hosts = parse_url($url); $host = $hosts['host']; //查看是几级域名 $data = explode('.', $host); $n = count($data); //判断是否是双后缀 $preg = '/[w].+.(com|net|org|gov|edu).cn$/'; if (($n > 2) && preg_match($preg, $host)) { //双后缀取后3位 $host = $data[$n - 3] . '.' . $data[$n - 2] . '.' . $data[$n - 1]; } else { //非双后缀取后两位 $host = $data[$n - 2] . '.' . $data[$n - 1]; } return $host; } // 测试 echo getTopHost("http://ABC.com/s/j?wd=djl"), '
'; echo getTopHost("http://www.abc.com/s/j?wd=djl"), '
'; echo getTopHost("http://2.www.abc.com/s/j?wd=djl"), '
'; echo getTopHost("https://mp.weixin.qq.com/s?__biz=MzA3ODI3ODUzMw=="), '
'; echo getTopHost("http://cfi.net.cn/"), '
'; echo getTopHost("https://www.xysoft.cc/php/php-curl-downfile.html/"), '
'; echo getTopHost("https://www.sina.com.cn/?from=kandian"), '
';
运行结果:
abc.com abc.com abc.com qq.com cfi.net.cn xysoft.cc sina.com.cn
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)