admin 发表于 2022-8-31 17:18:27

获取顶级域名授权需要使用PHP实现获取url地址中顶级域名的方法亲测可用

主要介绍了PHP实现获取url地址中顶级域名的方法,结合实例形式分析了php使用parse_url()针对URL域名解析相关操作技巧,需要的朋友可以参考下
null, left]本文实例讲述了PHP实现获取url地址中顶级域名的方法。分享给大家供大家参考,具体如下: null, left]parse_url()获取到的host时多级域名,如:mp.weixin.qq.com。做域名黑名单的时候我们需要得到顶级域名。 null, left]有不足之处还请留言指正,谢谢。<?php
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>'; null, left]运行结果: null, left]abc.com
abc.com
abc.com
qq.com
cfi.net.cn
cfi.net.cn
sina.com.cn null, left]获取到以后就可以判断域名是否再授权列表里了哦<?php
//获取域名
$domain = $_GET['domain',;
//授权域名列表
$Array = array('127.0.0.1','localhost');
//校验结果
echo in_array($domain, $Array) ? 'yes' : '';
?>

scarlett77 发表于 2022-8-31 17:19:07

太棒了!真的可以下载哦!

无业游民0 发表于 2022-8-31 17:19:51

你好棒!正好需要!

猜情寻 发表于 2022-8-31 17:20:33

这个得收藏。谢谢楼主!

旧城已无少年梦 发表于 2022-8-31 17:21:11

看起来不错!转发了!

一抹阳光_time 发表于 2022-8-31 17:22:02

赞!赞!赞!真是不错的资源!

泰山虫二 发表于 2022-8-31 17:22:33

支持!楼主辛苦了!

游城九代HERO 发表于 2022-8-31 17:23:07

看起来很不错,感谢楼主分享!!!

和二不同 发表于 2022-8-31 17:23:55

不错呀!资源挺好的!

aligogo 发表于 2022-8-31 17:24:27

你历害!找了好久哦!
页: [1] 2
查看完整版本: 获取顶级域名授权需要使用PHP实现获取url地址中顶级域名的方法亲测可用