PHP 获取顶级域名 获取域名的函数 parseHost()

PHP实现获取域名的几种方法(附完整源码) 阅读详情

2012-12-19补充:

1)最新的更新版在 http://blog.youkuaiyun.com/default7/article/details/8332612

2)第7行代码那个empty多显示了,可以直接点击看源码。

-------------------------------------------------------------------------------------------------------------

写了一个测试了一下,很不错!

  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.baidu.com.cn:8080/ABCDEFGH.PHP?A=1&B=2#0000!',
'http://www.a.b.c.baidu.com.cn:8080/ABCDEFGH.PHP?A=1&B=2#0000!',
'http://www.a.b.c.baidu.com.cn:8080/ABCDEFGH.PHP?A=1&B=2#0000!',
'http://www.baidu.com/#asdfasdfasd',
'www.baidu.com',
'baidu',
'http://a.b.c.d.com.cn:3306/asdfasdfadsfasd.asp?3adf=&adsfa#dead!dfadf^gadgad',
);
echo "<pre>";
foreach ($arr as &$value) {
  echo $value."\n";
  print_r( parseHost($value));
  echo "\n\n";
}
echo "</pre>";

输出如下:

http://www.baidu.com.cn:8080/ABCDEFGH.PHP?A=1&B=2#0000!
Array
(
    [0] => www.baidu.com.cn:8080
    [1] => www.baidu.com.cn:8080
)


http://www.a.b.c.baidu.com.cn:8080/ABCDEFGH.PHP?A=1&B=2#0000!
Array
(
    [0] => www.a.b.c.baidu.com.cn:8080
    [1] => baidu.com.cn:8080
)


http://www.a.b.c.baidu.com.cn:8080/ABCDEFGH.PHP?A=1&B=2#0000!
Array
(
    [0] => www.a.b.c.baidu.com.cn:8080
    [1] => baidu.com.cn:8080
)


http://www.baidu.com/#asdfasdfasd
Array
(
    [0] => www.baidu.com
    [1] => www.baidu.com
)


www.baidu.com
Array
(
    [0] => 
    [1] => 
)


baidu
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 获取顶级域名 NULL 博文链接:https://onestopweb.iteye.com/blog/2379681 立即下载

相关推荐

HRnet的pytorch实现

HRnet的pytorch实现

奋土的博客 1953

php获取网站顶级域名方法,PHP 获取顶级域名 获取域名的函数 parseHost() | 学步园...

2012-12-19补充:2)第7行代码那个empty多显示了,可以直接点击看源码。-------------------------------------------------------------------------------------------------------------写了一个测试了一下,很不错!function parseHost($httpurl){$httpu...

weixin_39739395的博客 278

python基础语法与数据结构

本文摘要: Python基础语法包含输入输出、函数、变量、数据类型及运算符等内容。输入函数input()获取键盘输入并以字符串存储,输出函数print()可格式化输出数据。函数通过def定义,可带参数和返回值,提高代码复用性。变量无需声明类型,可动态赋值。数据类型包括数字、字符串、布尔及复合类型,可通过type()查看。运算符包含算术、赋值等类型,其中复合赋值运算符如+=可简化运算。类型转换函数如int()、str()等可实现显式类型转换。这些基础语法构成Python编程的核心要素。

MM602388的博客 432

详解PHP获取域名的各种方法

以上就是本文详解 PHP 获取域名的各种方法和技巧,希望能对你的工作有所帮助。

这货有些呆 1万+

J-LINK下载程序出现No Cortex-M Device found in JTAG chain…问题,最全7种解决方法

J-Link下载程序出现No Corect 等的问题的7种方法 后来编辑JLinkSettings.ini文件,找到"Device"项,将其更改Device="Cortex-M0+"

cjmsea的博客 5613

从报错到定位:Memtest86 DQ位算法解析与实践指南

本文深入解析了Memtest86内存测试工具报错信息的解读方法,重点介绍了通过地址解析、数据转换、位比对和DQ定位四步算法,精准锁定故障DQ位的实践流程。文章以DDR4和DDR5为例,详细拆解了从十六进制报错到二进制比对的完整步骤,并提供了从单个报错分析到故障模式诊断的进阶指南,帮助用户将抽象的报错信息转化为具体的维修或排查依据。

sre5engineer的博客 486

php获取域名方法,PHP实现获取域名的方法有哪些?

PHP实现获取域名的方法有哪些?这篇文章主要介绍了PHP实现获取域名的方法。使用php获取域名的方法很多,有用变量、正则、有字符接取方面的函数的都可以,但云服务器网(yuntue.com)小编今天就过来分享的是很简单的四种方法,当然也是比较实用的,也是效率比较高的;实例总结了常见的获取域名的方法,非常具有实用价值,需要的朋友可以参考下。文实例总结了PHP实现获取域名地址的方法。这四种获取域名的方法...

weixin_32314595的博客 5836

立创EDA手动拼板实战:当自带功能不够用,如何用‘复制粘贴’搞定异形拼版与特殊布局

本文详细介绍了立创EDA手动拼板技术在异形拼版与特殊布局中的应用实战。通过CTRL+SHIFT+V等核心操作技巧,解决混合尺寸拼板、特殊间距需求等复杂场景,提升PCB设计效率与灵活性,特别适合需要高精度控制的射频电路和医疗设备项目。

weixin_31967485的博客 386

php域名怎么获取,获取PHP域名的方法

在PHP中,"获取域名"通常指的是从当前请求的URL中提取出域名部分。这可以通过多种方式实现,但最常用的方法是使用超全局变量$_SERVER。$_SERVER是一个包含了诸如头信息(header)、路径(path)和脚本位置(script locations)的数组。这个数组由Web服务器创建,在PHP脚本开始执行时可用。

qq_28514075的博客 1032

增量编码器资讯大全

增量编码器是什么 增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小,按照工作原理编码器可分为增量式和绝对式两类。 增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。 编码器是把角位移或直线位移转换成电信号的一种装置。前者称为码盘,后者称码尺.按照读出方式编码器可以分为接触式和非接触式两种.接触式采...

kindele的博客 6008

LeRobot 入门教程(十七)NVIDIA IsaacLab Arena 集成

LeRobotEnvHub现已集成IsaacLabArena实现GPU加速仿真,支持GR1/G1/伽利略人形机器人实体和多种操作任务。安装需满足CUDA GPU、Ubuntu系统和IsaacSim 5.1.0要求,通过conda环境配置依赖项。系统提供SmolVLA和PI0.5等预训练策略评估功能,支持视频录制和并行环境配置。环境配置选项涵盖机器人实体、任务类型、观测维度等参数,并包含针对CUDA内存、视频录制等常见问题的解决方案。此外,LightWheel AI还通过LW-BenchHub引入了包含268

2506_90492529的博客 1246

php 获取域名部分,PHP 获取顶级域名 获取域名的函数 parseHost()

2012-12-19补充:-------------------------------------------------------------------------------------------------------------写了一个测试了一下,很不错!function parseHost($httpurl){$httpurl = strtolower( trim($httpur...

weixin_31115971的博客 260

基于STM32设计的水质检测系统_333

水质安全对生态环境、农业生产、工业制造以及人类健康至关重要。针对传统水质检测方式检测周期长、成本高、实时性差的问题,本项目设计并实现了一种基于STM32的水质检测系统。系统采用STM32F103RCT6作为主控芯片,集成水温、pH值、电导率和浊度等传感器,能够实时采集水质数据,并通过OLED显示屏进行本地显示。同时,利用Air724UG 4G模块通过MQTT协议将数据上传至华为云IoT平台,实现远程监测。用户可通过Qt5开发的Android手机APP和Windows上位机查看水质数据,并接收超限报警提示。此

713

获取顶级域名修正版,parseHost() (更新日期2013-1-3)

2013-1-3 更新: 1,原先的其实有问题的。 2,不要迷信什么OOP,如果一个匹配出顶级域名的也非得写一个OOP出来,合适吗?PHP根本面向对象根本就不灵活! 3,PHP根本就不适合完全的面向对象!根本就不适合! /** * @access public * @param string $httpurl * @return

____ 1915

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

php获取主机地址加上自定义端口号后跳转

【代码】php获取主机地址加上自定义端口号后跳转。

cntvro的专栏 545

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

php内置函数获取host,地址栏参数,parent url一些实例

header("Content-type:text/html;charset=utf-8"); #测试网址:     http://localhost/blog/testurl.php?id=5 //获取域名或主机地址  echo $_SERVER['HTTP_HOST']."--a"; #localhost //获取网页地址  echo $_SERVER['PHP_SE

天步的博客 2415

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

PHP获取到当前主域名

主要是获取主域名,自动识别证书,https://www.youkuaiyun.com/可以当普通的函数,或者在框架中添加函数用function getHostDomain() { // return $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['SERVER_NAME']; return getHttpType() . $_SERVER['SER...

myarche的博客 6409

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

做域名黑名单的时候我们需要得到顶级域名。

企业级技术与网站app运营 1693

PHP获取根域名主域名子域名

url:http://www.book.com/mcreatemenu 获取根域名 $url="http://".$_SERVER ['HTTP_HOST']; preg_match("#\.(.*)#i",$url,$match);//获取根域名 $domin = $match[1]; 输出 book.com 获取子域 $url...

flysnownet的博客 1万+

php获取主机域名,PHP 获取域名的几种方法

//方法一(用 系统变量)//缺点不使用传递过来的地址和不支持系统变量的主机echo $_SERVER['HTTP_HOST'];//方法二(用自带函数)$url = ‘http://www.51php.net/index.php?referer=51php.net’;$arr_url = parse_url($url);echo $arr_url['host'];//方法三( 自己写函数)fun...

weixin_33586063的博客 932

php 将内容中的图片的域名,php正则抓取整个域名下的图片实现代码

功能:抓取整个站点的图片,暂无借助php的curl插件开发, 后期完善配置:config目录下domain_name:域名(默认:bizhibar.com)request_site:网站网址(默认:http://www.xx.com/)request_url:从网站的哪个页面开始(默认:http://www.xx.com/)accept_type: 图片类型(默认:gif, bmp, png, i...

weixin_28691003的博客 277

laravel 常用

阅读目录Laravel 常用命令Laravel 中 查询构造器 where 中拼接in查询方法get_class 获取实例的类名DB 应用技巧获取请求地址如果你想要在运行时开启/关闭 Debugbar,可以通过如下方式:laravel将数组转换成集合laravel的resource控制器laravel中的路由控制器执行command中的命令命令laravel集合转数组laravel获取当前的url以及当前的基础域名方法汇总laravel的validation中文文件laravel中使一段文字,限制长度,并且

wgchen 3996

php获取当前域名的方法 如何获得域名

1、(用php自带系统变量得到当前域名)    //不支持系统变量的主机无法获得,只能获得当前网页的域名 echo $_SERVER['HTTP_HOST'];   2、(用自带函数获取域名)    $url = 'http://www.heycode.com';    $arr_url = parse_url($url);    echo $arr_url['host'];    ...

峰 1万+

PHP获取当前域名(判断域名)

PHP获取当前域名(判断域名)PHP 如何获取当前的域名?

阿酷tony 1万+

php 将内容中的图片的域名,内容IMG图片地址批量追加域名

//富文本图片Beginif($data["content"]){preg_match_all('/]+>/isU',$data["content"],$matches);$img = "";if(!empty($matches)) {//注意,上面的正则表达式说明src的值是放在数组的第三个中$img = $matches[2];}else {$img = "";}if (!empty($...

weixin_33268492的博客 473

使用PHP获取顶级域名信息

在做酷瓜云课堂系统授权相关功能的时候,需要针对顶级域名授权,所以就写了个函数,目前只是针对国内的复合域名做了处理, 其它国家的请自行扩充,简单够用就好。

xiaochong0302的博客 438
上一篇: 对比MSN和QQ
下一篇: 获取顶级域名修正版,parseHost() (更新日期2013-1-3)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值