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 相关文章推荐
如何开发一个虚拟域名系统
Oct 09 PHP
PHP入门学习笔记之一
Oct 12 PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
Aug 18 PHP
php字符串分割函数explode的实例代码
Feb 07 PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
Jun 09 PHP
php中使用session防止用户非法登录后台的方法
Jan 27 PHP
PHP实现的迷你漂流瓶
Jul 29 PHP
WordPress主题中添加文章列表页页码导航的PHP代码实例
Dec 22 PHP
Zend Framework实现将session存储在memcache中的方法
Mar 22 PHP
谈谈PHP连接Access数据库的注意事项
Aug 12 PHP
PHP实现类似于C语言的文件读取及解析功能
Sep 01 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
Jun 06 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
解决中英文字符串长度问题函数
2007/01/16 PHP
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
PHP 伪静态隐藏传递参数名的四种方法
2010/02/22 PHP
限制ckeditor上传图片文件大小的方法
2013/11/15 PHP
php解决安全问题的方法实例
2019/09/19 PHP
Laravel5.1 框架路由基础详解
2020/01/04 PHP
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
使用jquery.upload.js实现异步上传示例代码
2014/07/29 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
学习JavaScript设计模式(单例模式)
2015/11/26 Javascript
jQuery中cookie插件用法实例分析
2015/12/04 Javascript
JavaScript预解析及相关技巧分析
2016/04/21 Javascript
NodeJS远程代码执行
2016/08/28 NodeJs
Parcel.js + Vue 2.x 极速零配置打包体验教程
2017/12/24 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
使用 node.js 模仿 Apache 小部分功能
2019/07/07 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
详解阿里Node.js技术文档之process模块学习指南
2021/01/04 Javascript
详解Python中的循环语句的用法
2015/04/09 Python
python实现TCP服务器端与客户端的方法详解
2015/04/30 Python
Python变量作用范围实例分析
2015/07/07 Python
Python遍历目录并批量更换文件名和目录名的方法
2016/09/19 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
python实现简单淘宝秒杀功能
2018/05/03 Python
关于python中密码加盐的学习体会小结
2019/07/15 Python
Python检测端口IP字符串是否合法
2020/06/05 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
HTML5获取当前地理位置并在百度地图上展示的实例
2020/07/10 HTML / CSS
Spartoo比利时:欧洲时尚购物网站
2017/12/06 全球购物
护理专业推荐信
2013/11/07 职场文书
服务行业个人求职的自我评价
2013/12/12 职场文书
元旦促销方案
2014/03/15 职场文书
反对邪教标语
2014/06/30 职场文书
团队会宣传标语
2014/10/09 职场文书
2014年机关党委工作总结
2014/12/11 职场文书
2016年党员干部廉政承诺书
2016/03/24 职场文书