TA的每日心情 | 奋斗 2022-9-1 11:24 |
---|
签到天数: 50 天 连续签到: 1 天 [LV.5]常住居民I 766680204
|
[color=#333333,主要介绍了PHP实现获取url地址中顶级域名的方法,结合实例形式分析了php使用parse_url()针对URL域名解析相关操作技巧,需要的朋友可以参考下
[p=30] null, left]本文实例讲述了PHP实现获取url地址中顶级域名的方法。分享给大家供大家参考,具体如下:[p=30] null, left]parse_url()获取到的host时多级域名,如:mp.weixin.qq.com。做域名黑名单的时候我们需要得到顶级域名。[p=30] 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>';
复制代码 [p=30] null, left]运行结果:[p=30] null, left]abc.com
abc.com
abc.com
qq.com
cfi.net.cn
cfi.net.cn
sina.com.cn[p=30] null, left][font=tahoma, arial,获取到以后就可以判断域名是否再授权列表里了哦- <?php
- //获取域名
- $domain = $_GET['domain',;
- //授权域名列表
- $Array = array('127.0.0.1','localhost');
- //校验结果
- echo in_array($domain, $Array) ? 'yes' : '';
- ?>
复制代码
|
|