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


Posted in PHP onJune 05, 2019

本文实例讲述了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

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

PHP 相关文章推荐
PHP 组件化编程技巧
Jun 06 PHP
PHP调用Linux的命令行执行文件压缩命令
Jan 27 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
Oct 15 PHP
php面向对象中static静态属性与方法的内存位置分析
Feb 08 PHP
yii实现model添加默认值的方法(2种方法)
Jan 06 PHP
php根据用户名和手机号查询是否存在手机号码
Feb 16 PHP
深入解析PHP中SESSION反序列化机制
Mar 01 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
Jul 07 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 PHP
PHP中TP5 上传文件的实例详解
Jul 31 PHP
PHP切割汉字的常用方法实例总结
Apr 27 PHP
PHP中SESSION过期设置
Mar 09 PHP
PHP token验证生成原理实例分析
Jun 05 #PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
Jun 05 #PHP
PHP 数组黑名单/白名单实例代码详解
Jun 04 #PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
Jun 03 #PHP
PHP使用CURL实现下载文件功能示例
Jun 03 #PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
Jun 03 #PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
Jun 03 #PHP
You might like
使用php记录用户通过搜索引擎进网站的关键词
2014/02/13 PHP
php类常量用法实例分析
2015/07/09 PHP
简单谈谈php浮点数精确运算
2016/03/10 PHP
Zend Framework框架中实现Ajax的方法示例
2017/06/27 PHP
PHP的PDO错误与错误处理
2019/01/27 PHP
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
2009/12/27 Javascript
锋利的jQuery 要点归纳(二) jQuery中的DOM操作(下)
2010/03/23 Javascript
javascript中将Object转换为String函数代码 (json str)
2012/04/29 Javascript
JS解决ie6下png透明的方法实例
2013/08/02 Javascript
Jquery中给animation加更多的运作效果实例
2013/09/05 Javascript
JS中位置与大小的获取方法
2016/11/22 Javascript
JavaScript中清空数组的方法总结
2016/12/02 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
Vuex和前端缓存的整合策略详解
2017/05/09 Javascript
详解Angular的8个主要构造块
2017/06/20 Javascript
深入研究React中setState源码
2017/11/17 Javascript
Vue 去除路径中的#号
2018/04/19 Javascript
react PropTypes校验传递的值操作示例
2020/04/28 Javascript
[55:16]Mski vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python爬虫包BeautifulSoup简介与安装(一)
2018/06/17 Python
tensor和numpy的互相转换的实现示例
2019/08/02 Python
对Django的restful用法详解(自带的增删改查)
2019/08/28 Python
python使用socket 先读取长度,在读取报文内容示例
2019/09/26 Python
详解Python绘图Turtle库
2019/10/12 Python
ASOS英国官网:英国在线时装和化妆品零售商
2017/05/19 全球购物
jurlique茱莉蔻英国官网:澳洲天然护肤品
2018/08/03 全球购物
通信工程专业毕业生推荐信
2013/12/25 职场文书
学习十八大报告感言
2014/02/04 职场文书
人力资源部经理的岗位职责
2014/03/04 职场文书
妇女儿童发展规划实施方案
2014/03/16 职场文书
消防标语大全
2014/06/07 职场文书
党员干部廉政承诺书
2015/04/28 职场文书
终止合同协议书范本
2016/03/22 职场文书
导游词之山西祁县乔家大院
2019/10/14 职场文书
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript
Redis实战之Lettuce的使用技巧详解
2022/12/24 Redis