您的位置:首页 > 编程学习 > > 正文

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

更多 时间:2022-03-29 18:09:32 类别:编程学习 浏览量:1052

php 获取get url

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

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

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

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

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • <?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

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

    原文链接:https://blog.csdn.net/u010071211/article/details/88690531

    标签:PHP URL 顶级域名
    您可能感兴趣