PHP获取网址的顶级域名函数代码


Posted in PHP onSeptember 24, 2012

PHP获取网址的顶级域名函数

目前国际顶级域名有:com|edu|gov|int|mil|net|org|biz|info|pro|name|museum|coop|aero|xxx|idv|mobi|cc|me
地域型域名比较多,应该是每个国家地区都会有吧,有心可以去收集,不过据我了解这个域名都是2个字母构成的,它可以单独使用也可以喝国际顶级域名结合使用地域型域名如:
cn 中国
tw 台湾
hk 香港

域名例子:
3water.cn
baidu.com
3water.com.cn

以3water.dom.cn为例:phpwind(自定义部分).com(国际域名部分).cn(地域型域名部分)

获取顶级域名的PHP函数

function getdomain($url) { 
$host = strtolower ( $url ); 
if (strpos ( $host, '/' ) !== false) { 
$parse = @parse_url ( $host ); 
$host = $parse ['host']; 
} 
$topleveldomaindb = array ('com', 'edu', 'gov', 'int', 'mil', 'net', 'org', 'biz', 'info', 'pro', 'name', 'museum', 'coop', 'aero', 'xxx', 'idv', 'mobi', 'cc', 'me' ); 
$str = ''; 
foreach ( $topleveldomaindb as $v ) { 
$str .= ($str ? '|' : '') . $v; 
} $matchstr = "[^\.]+\.(?:(" . $str . ")|\w{2}|((" . $str . ")\.\w{2}))$"; 
if (preg_match ( "/" . $matchstr . "/ies", $host, $matchs )) { 
$domain = $matchs ['0']; 
} else { 
$domain = $host; 
} 
return $domain; 
}

使用例子:
$str = "https://3water.com/tools/zhengze.html"; 
echo getdomain ( $str );

输出:3water.com
PHP 相关文章推荐
PHP的历史和优缺点
Oct 09 PHP
如何分别全角和半角以避免乱码
Oct 09 PHP
PHP中cookies使用指南
Mar 16 PHP
如何在Ubuntu下启动Apache的Rewrite功能
Jul 05 PHP
PHP用身份证号获取星座和生肖的方法
Nov 07 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
Mar 13 PHP
浅析PHP编程中10个最常见的错误
Aug 08 PHP
PHP实现文件上传和多文件上传
Dec 24 PHP
CI框架文件上传类及图像处理类用法分析
May 18 PHP
php基于PDO实现功能强大的MYSQL封装类实例
Feb 27 PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
Jun 11 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
Oct 10 PHP
ThinkPHP关联模型操作实例分析
Sep 23 #PHP
Linux下CoreSeek及PHP扩展模块的安装
Sep 23 #PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 #PHP
如何获知PHP程序占用多少内存(memory_get_usage)
Sep 23 #PHP
PHP管理内存函数 memory_get_usage()使用介绍
Sep 23 #PHP
查找mysql字段中固定字符串并替换的几个方法
Sep 23 #PHP
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
Sep 23 #PHP
You might like
JAVA/JSP学习系列之二
2006/10/09 PHP
15种PHP Encoder的比较
2007/04/17 PHP
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
2019/03/27 PHP
Thinkphp 框架扩展之类库扩展操作详解
2020/04/23 PHP
PHP获取真实IP及IP模拟方法解析
2020/11/24 PHP
自适应图片大小的弹出窗口
2006/07/27 Javascript
用js实现的一个Flash滚动轮换显示图片代码生成器
2007/03/14 Javascript
extjs 学习笔记(三) 最基本的grid
2009/10/15 Javascript
使用js实现一个可编辑的select下拉列表
2014/02/20 Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
2014/03/18 Javascript
jquery选择符快速提取web表单数据示例
2014/03/27 Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
2014/10/08 Javascript
javascript正则表达式之search()用法实例
2015/01/19 Javascript
JQuery实现图片轮播效果
2015/09/15 Javascript
JavaScript各类型的关系图解
2015/10/16 Javascript
详解JavaScript时间格式化
2015/12/23 Javascript
JavaScript数值千分位格式化的两种简单实现方法
2016/08/01 Javascript
JavaScript之面向对象_动力节点Java学院整理
2017/06/29 Javascript
vue中v-for加载本地静态图片方法
2018/03/03 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
python 读写文件,按行修改文件的方法
2018/07/12 Python
python装饰器简介---这一篇也许就够了(推荐)
2019/04/01 Python
Python + Flask 实现简单的验证码系统
2019/10/01 Python
Selenium Webdriver元素定位的八种常用方式(小结)
2021/01/13 Python
css3 flex布局 justify-content:space-between 最后一行左对齐
2020/01/02 HTML / CSS
HTML5实现预览本地图片
2016/02/17 HTML / CSS
用C语言实现文件读写操作
2013/10/27 面试题
新闻传媒系求职信范文
2014/04/19 职场文书
2015年人事工作总结范文
2015/04/09 职场文书
运动会100米广播稿
2015/08/19 职场文书
Promise面试题详解之控制并发
2021/05/14 面试题
详解NodeJS模块化
2021/06/15 NodeJs
python 常用的异步框架汇总整理
2021/06/18 Python
python 进阶学习之python装饰器小结
2021/09/04 Python