加入收藏 | 设为首页 | 会员中心 | 我要投稿 张家口站长网 (https://www.0313zz.com.cn/)- 办公协同、操作系统、混合云网络、数据湖、视觉智能!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2022-07-14 11:01:40 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了PHP实现获取url地址中顶级域名的方法,结合实例形式分析了php使用parse_url()针对URL域名解析相关操作技巧,需要的朋友可以参考下。 本文实例讲述了PHP实现获取url地址中顶级域名的方法,分享给大家供大家参考,具体如下: parse_url()获取
  这篇文章主要介绍了PHP实现获取url地址中顶级域名的方法,结合实例形式分析了php使用parse_url()针对URL域名解析相关操作技巧,需要的朋友可以参考下。
 
  本文实例讲述了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://cfi.net.cn/"),'<br>';
  echo getTopHost("http://www.cfi.NEt.cn/"),'<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
 

(编辑:张家口站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读