php 获取域名部分,PHP 获取顶级域名 获取域名的函数 parseHost()
2012-12-19补充:
-------------------------------------------------------------------------------------------------------------
写了一个测试了一下,很不错!
function parseHost($httpurl)
{
$httpurl = strtolower( trim($httpurl) );
if(empty($httpurl)) return ;
$regx1 = '/https?:\/\/(([^\/\?#]+\.)?([^\/\?#-\.]+\.)(com\.cn|org\.cn|net\.cn|com\.jp|co\.jp|com\.kr|com\.tw)(\:[0-9]+)?)/i';
$regx2 = '/https?:\/\/(([^\/\?#]+\.)?([^\/\?#-\.]+\.)(cn|com|org|net|cc|biz|hk|jp|kr|name|me|tw|la)(\:[0-9]+)?)/i';
$host = $tophost = '';
if(preg_match($regx1,$httpurl,$matches))
{
$host = $matches[1];
} elseif(preg_match($regx2, $httpurl, $matches)) {
$host = $matches[1];
}
if($matches) $tophost = $matches[2] == 'www.' ? $host:$matches[3].$matches[4].$matches[5];
return array($host,$tophost);
}
测试代码:
//test
$arr=array(
'http://www.35dalu.com.cn:8080/ABCDEFGH.PHP?A=1&B=2#0000!',
'http://www.a.b.c.35dalu.com.cn:8080/ABCDEFGH.PHP?A=1&B=2#0000!',
'http://www.a.b.c.35dalu.com.cn:8080/ABCDEFGH.PHP?A=1&B=2#0000!',
'http://www.35dalu.com/#asdfasdfasd',
'www.35dalu.com',
'35dalu',
'http://a.b.c.d.com.cn:3306/asdfasdfadsfasd.asp?3adf=&adsfa#dead!dfadf^gadgad',
);
echo "
";
foreach ($arr as &$value) {
echo $value."\n";
print_r( parseHost($value));
echo "\n\n";
}
echo "
";
输出如下:
http://www.35dalu.com.cn:8080/ABCDEFGH.PHP?A=1&B=2#0000!
Array
(
[0] => www.35dalu.com.cn:8080
[1] => www.35dalu.com.cn:8080
)
http://www.a.b.c.35dalu.com.cn:8080/ABCDEFGH.PHP?A=1&B=2#0000!
Array
(
[0] => www.a.b.c.35dalu.com.cn:8080
[1] => 35dalu.com.cn:8080
)
http://www.a.b.c.35dalu.com.cn:8080/ABCDEFGH.PHP?A=1&B=2#0000!
Array
(
[0] => www.a.b.c.35dalu.com.cn:8080
[1] => 35dalu.com.cn:8080
)
http://www.35dalu.com/#asdfasdfasd
Array
(
[0] => www.35dalu.com
[1] => www.35dalu.com
)
www.35dalu.com
Array
(
[0] =>
[1] =>
)
35dalu
Array
(
[0] =>
[1] =>
)
http://a.b.c.d.com.cn:3306/asdfasdfadsfasd.asp?3adf=&adsfa#dead!dfadf^gadgad
Array
(
[0] => a.b.c.d.com.cn:3306
[1] => d.com.cn:3306
)
php 获取域名部分,PHP 获取顶级域名 获取域名的函数 parseHost()相关推荐
- drf 获取域名+端口_如何注册域名(+简单提示可免费获取)
drf 获取域名+端口 Do you want to start a blog or a new online business in 2019? If you do, then you'll nee ...
- laravel获取当前的url以及当前的基础域名方法汇总
原文地址:https://phpartisan.cn/news/58.html 来源于:laravel获取当前的url以及当前的基础域名方法汇总 - Laravel学习网 laravel中我们常常需要 ...
- cn域名保护隐私_域名隐私保护的含义及获取方法
为什么域名隐私保护如此重要 如今,维护个人隐私已变得越来越艰难. 保证个人信息不受陌生人侵犯是一种永恒的挑战,您应该对这一点保持警惕. 如果您拥有自己的博客,那么您的信息可能正暴露在大众的视野里--除 ...
- 顶级二级三级域名的区别
一个完整的域名由二个或二个以上部分组成,各部分之间用英文的句号"."来分隔,最后一个"."的右边部分称为顶级域名(TLD,也称为一级域名),最后一个" ...
- 根域名、顶级域名、二级域名_找到出售顶级域名的7个最佳地方(+专家提示)
根域名.顶级域名.二级域名 We have been often asked by many readers about the best places to find premium domain ...
- chatgpt赋能python:Python微信获取群聊信息:顶级互联的新标准
Python 微信获取群聊信息:顶级互联的新标准 Python 作为一种开源编程语言,已成为解决各种工程问题的首选方式之一.Python 是一种直观,并且简单易懂的编程语言,同时也非常强大,能够完成各 ...
- 万网绑定二级域名_Hexo+yilia主题网站绑定个性域名
上篇我们已经成功部署了自己的博客网站,初始化的网站看上去似乎少了些内容(高端大气上档次的设置).接下来我们就进一步完善我们的博客网站(孟繁胜游). 绑定个性域名 当你打开github给你设定的固定域名 ...
- php网站 域名授权 怎么破,使用php进行域名授权代码 - 小俊学习网
法一:在线校验域名授权的方法 客户端: //获取不带端口号的域名前缀 $servername = trim($_SERVER['SERVER_NAME']); //获取服务端授权文件校验 $verif ...
- 防止域名被劫持的七种方法域名被劫持怎么办
域名劫持通常针对不安全的网站,并且网站拥有可观的流量,想象一下,当你的客户进入网站时突然被被重定向到另一个网站,你的客户会有许多困惑,愤怒和恐慌,域名劫持已经导致许多公司遭受严重的损失. 域名是什么以 ...
- dns遭到劫持_被域名劫持了怎么办 域名劫持的几个解决办法域名给别人劫持怎么办...
做网站的最怕遇到黑帽seo,规矩点的给你加点黑链起码对网站影响不大,但是有些黑客直接接进行域名劫持,强制性获取你的网站流量,在互联网中这种手段简直就是强盗行为,但是虽然很多人痛恨,但是黑帽seo还是无 ...
最新文章
- python 爬虫代理
- C++的黑科技 利用一个字符对字符串进行分离
- 【深度探讨】阿里巴巴万级规模 K8s 集群全局高可用体系之美
- python使用的一些小事儿
- 拜托!程序员的工作不能用时间来衡量
- c语言能让制表符空9个字符码,C语言入门9-1-分类函数
- mysql sql优化_MySQL优化SQL语句的步骤
- 如何体验4G极限速度?一部Mate30系列5G轻松搞定
- 力扣-1022. 从根到叶的二进制数之和
- c语言建立循环链表,C语言实现循环链表
- 查看链接文件的最终目标的多种方法
- 域内计算机本地管理员密码管理
- 不露脸也可以做自媒体短视频,简单罗列几个易上手的领域
- 现代通信网(第1章 绪论)
- rails rjs select method help
- 每个程序员必知之SEO
- 计算机硬盘分区和盘符,盘符
- PyDev for Eclipse 简介
- 主流杀毒软件多已支持windows7
- linux中关于网卡的基本知识总结