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
php4的彩蛋
Oct 09 PHP
用PHP和ACCESS写聊天室(九)
Oct 09 PHP
php.ini 中文版
Oct 28 PHP
php error_log 函数的使用
Apr 13 PHP
PHP 第二节 数据类型之转换
Apr 28 PHP
PHP中array_merge和array相加的区别分析
Jun 17 PHP
php5.3 注意事项说明
Jul 01 PHP
PHP 字符串长度判断效率更高的方法
Mar 02 PHP
php结合md5的加密解密算法实例
Sep 30 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
Mar 08 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
Apr 07 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
如何在WIN2K下安装PHP4.04
2006/10/09 PHP
PHP函数utf8转gb2312编码
2006/12/21 PHP
关于BIG5-HKSCS的解决方法
2007/03/20 PHP
163的邮件用phpmailer发送(实例详解)
2013/06/24 PHP
PHP中的命名空间相关概念浅析
2015/01/22 PHP
PHP函数func_num_args用法实例分析
2015/12/07 PHP
js获取某月的最后一天日期的简单实例
2013/06/22 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
jQuery+formdata实现上传进度特效遇到的问题
2016/02/24 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
jQuery代码实现对话框右上角菜单带关闭×
2016/05/03 Javascript
基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现)
2016/10/27 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
jQuery+pjax简单示例汇总
2017/04/21 jQuery
详解组件库的webpack构建速度优化
2018/06/18 Javascript
浅谈Express.js解析Post数据类型的正确姿势
2019/05/30 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
2020/06/03 Javascript
Python读取环境变量的方法和自定义类分享
2014/11/22 Python
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
Python3实现并发检验代理池地址的方法
2016/09/18 Python
python 控制Asterisk AMI接口外呼电话的例子
2019/08/08 Python
Python使用scrapy爬取阳光热线问政平台过程解析
2019/08/14 Python
浅谈Python中的字符串
2020/06/10 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
GetYourGuide台湾:预订旅游活动、景点和旅游项目
2019/06/10 全球购物
北欧最好的童装网上商店:Babyshop
2019/09/15 全球购物
销售经理竞聘书
2014/03/31 职场文书
大学生工作自荐书
2014/06/16 职场文书
党建目标管理责任书
2014/07/25 职场文书
2015毕业生自我评价范文
2015/03/02 职场文书
车间质检员岗位职责
2015/04/08 职场文书
2015年党员发展工作总结
2015/05/13 职场文书
2015暑假实习报告范文
2015/07/13 职场文书
勤俭节约主题班会
2015/08/13 职场文书
导游词之镇江焦山
2019/11/21 职场文书
vue判断按钮是否可以点击
2022/04/09 Vue.js