首页 > 语言 > PHP > 正文

PHP实现获取url地址中顶级域名的方法示例

2024-05-05 00:09:28
字体:
来源:转载
供稿:网友

本文实例讲述了PHP实现获取url地址中顶级域名的方法。分享给大家供大家参考,具体如下:

parse_url()获取到的host时多级域名,如:mp.weixin.qq.com。做域名黑名单的时候我们需要得到顶级域名。

有不足之处还请留言指正,谢谢。

<?php/** * @Author: Ding Jianlong * @Date:  2019-03-07 16:14:04 * @Last Modified by:  Ding Jianlong * @Last Modified time: 2019-03-20 13:45:12 */header('content-type:text/html;charset=utf-8');//获取顶级域名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"),'<br>';echo getTopHost("http://www.abc.com/s/j?wd=djl"),'<br>';echo getTopHost("http://2.www.abc.com/s/j?wd=djl"),'<br>';echo getTopHost("https://mp.weixin.qq.com/s?__biz=MzA3ODI3ODUzMw=="),'<br>';echo getTopHost("http://www.vevb.com/"),'<br>';echo getTopHost("http://www.zzvips.com/"),'<br>';echo getTopHost("https://www.sina.com.cn/?from=kandian"),'<br>';

运行结果:

abc.com
abc.com
abc.com
qq.com
cfi.net.cn
cfi.net.cn
sina.com.cn

希望本文所述对大家PHP程序设计有所帮助。


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选