`

PHP 获取url的一级域名的方法

 
阅读更多
<?php
function regular_domain($domain) 

{
	if (substr ( $domain, 0, 7 ) == 'http://') {
		$domain = substr ( $domain, 7 );
	}
	if (strpos ( $domain, '/' ) !== false) {
		$domain = substr ( $domain, 0, strpos ( $domain, '/' ) );
	}
	return strtolower ( $domain );
}
function top_domain($domain) {
	$domain = regular_domain ( $domain );
	$iana_root = array (
			'ac',
			'ad',
			'ae',
			'aero',
			'af',
			'ag',
			'ai',
			'al',
			'am',
			'an',
			'ao',
			'aq',
			'ar',
			'arpa',
			'as',
			'asia',
			'at',
			'au',
			'aw',
			'ax',
			'az',
			'ba',
			'bb',
			'bd',
			'be',
			'bf',
			'bg',
			'bh',
			'bi',
			'biz',
			'bj',
			'bl',
			'bm',
			'bn',
			'bo',
			'bq',
			'br',
			'bs',
			'bt',
			'bv',
			'bw',
			'by',
			'bz',
			'ca',
			'cat',
			'cc',
			'cd',
			'cf',
			'cg',
			'ch',
			'ci',
			'ck',
			'cl',
			'cm',
			'cn',
			'co',
			'com',
			'coop',
			'cr',
			'cu',
			'cv',
			'cw',
			'cx',
			'cy',
			'cz',
			'de',
			'dj',
			'dk',
			'dm',
			'do',
			'dz',
			'ec',
			'edu',
			'ee',
			'eg',
			'eh',
			'er',
			'es',
			'et',
			'eu',
			'fi',
			'fj',
			'fk',
			'fm',
			'fo',
			'fr',
			'ga',
			'gb',
			'gd',
			'ge',
			'gf',
			'gg',
			'gh',
			'gi',
			'gl',
			'gm',
			'gn',
			'gov',
			'gp',
			'gq',
			'gr',
			'gs',
			'gt',
			'gu',
			'gw',
			'gy',
			'hk',
			'hm',
			'hn',
			'hr',
			'ht',
			'hu',
			'id',
			'ie',
			'il',
			'im',
			'in',
			'info',
			'int',
			'io',
			'iq',
			'ir',
			'is',
			'it',
			'je',
			'jm',
			'jo',
			'jobs',
			'jp',
			'ke',
			'kg',
			'kh',
			'ki',
			'km',
			'kn',
			'kp',
			'kr',
			'kw',
			'ky',
			'kz',
			'la',
			'lb',
			'lc',
			'li',
			'lk',
			'lr',
			'ls',
			'lt',
			'lu',
			'lv',
			'ly',
			'ma',
			'mc',
			'md',
			'me',
			'mf',
			'mg',
			'mh',
			'mil',
			'mk',
			'ml',
			'mm',
			'mn',
			'mo',
			'mobi',
			'mp',
			'mq',
			'mr',
			'ms',
			'mt',
			'mu',
			'museum',
			'mv',
			'mw',
			'mx',
			'my',
			'mz',
			'na',
			'name',
			'nc',
			'ne',
			'net',
			'nf',
			'ng',
			'ni',
			'nl',
			'no',
			'np',
			'nr',
			'nu',
			'nz',
			'om',
			'org',
			'pa',
			'pe',
			'pf',
			'pg',
			'ph',
			'pk',
			'pl',
			'pm',
			'pn',
			'pr',
			'pro',
			'ps',
			'pt',
			'pw',
			'py',
			'qa',
			're',
			'ro',
			'rs',
			'ru',
			'rw',
			'sa',
			'sb',
			'sc',
			'sd',
			'se',
			'sg',
			'sh',
			'si',
			'sj',
			'sk',
			'sl',
			'sm',
			'sn',
			'so',
			'sr',
			'ss',
			'st',
			'su',
			'sv',
			'sx',
			'sy',
			'sz',
			'tc',
			'td',
			'tel',
			'tf',
			'tg',
			'th',
			'tj',
			'tk',
			'tl',
			'tm',
			'tn',
			'to',
			'tp',
			'tr',
			'travel',
			'tt',
			'tv',
			'tw',
			'tz',
			'ua',
			'ug',
			'uk',
			'um',
			'us',
			'uy',
			'uz',
			'va',
			'vc',
			've',
			'vg',
			'vi',
			'vn',
			'vu',
			'wf',
			'ws',
			'xxx',
			'ye',
			'yt',
			'za',
			'zm',
			'zw' 
	);
	$sub_domain = explode ( '.', $domain );
	$top_domain = '';
	$top_domain_count = 0;
	for($i = count ( $sub_domain ) - 1; $i >= 0; $i --) {
		if ($i == 0) {
			// just in case of something like NAME.COM
			break;
		}
		if (in_array ( $sub_domain [$i], $iana_root )) {
			$top_domain_count ++;
			$top_domain = '.' . $sub_domain [$i] . $top_domain;
			if ($top_domain_count >= 2) {
				break;
			}
		}
	}
	$top_domain = $sub_domain [count ( $sub_domain ) - $top_domain_count - 1] . $top_domain;
	return $top_domain;
}
?>

 

2
2
分享到:
评论

相关推荐

    PHP自定义函数获取URL中一级域名的方法

    本文将详细介绍如何通过自定义函数,在PHP中获取URL中的一级域名,并涉及相关的字符串处理和数组操作技巧。 首先,我们来定义一个`regular_domain`函数,它的作用是清除URL字符串中的协议前缀和路径信息,只保留...

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

    从这个输出可以看出,`parse_url()`已经将URL的不同部分分解出来,我们可以直接访问`$parsed_url['host']`获取到主机名,即二级域名(如`www.example.com`)。 然而,这并不总是我们想要的结果。例如,我们可能需要...

    二级域名分发__APP分发源码_二级分发_域名二级分发_源码_域名_

    标题中的“二级域名分发__APP分发源码_二级分发_域名二级分发_源码_域名”暗示了这个压缩包可能包含一个用于二级域名管理和应用分发的系统源代码。源码通常用于软件开发,特别是对于自定义或二次开发的需求。以下是...

    [PHP 程序]菁菁二级域名系统 v1.0_qqymv1.0.rar

    【PHP 程序】菁菁二级域名系统 v1.0_qqymv1.0 是一款基于 PHP 开发的二级域名管理系统。该系统的主要功能是帮助网站管理员为用户提供个性化或特定服务的二级域名,从而扩展网站的功能和用户体验。下面我们将深入探讨...

    [主机域名]老枪二级域名系统朴素版_lqdomain_PHP项目源码.zip

    总结来说,这个项目为建立一个二级域名管理系统提供了完整的解决方案,涉及了PHP编程、数据库操作、URL路由、用户管理等多个方面,是学习和实践Web开发的好材料。通过深入研究这个源码,开发者可以提升在PHP领域的...

    PHP实例开发源码—快乐是福二级域名分发系统源码 php版.zip

    【标题】"PHP实例开发源码—快乐是福二级域名分发系统源码 php版.zip"涉及的是一个基于PHP编程语言实现的二级域名分发系统。这个系统的主要目的是通过PHP技术来管理和分配二级域名,使得用户可以高效地管理和使用...

    [主机域名]木翼二级域名系统v1.1_wingdomain11_PHP项目源码.zip

    【主机域名】木翼二级域名系统v1.1_wingdomain11_PHP项目源码.zip是一个基于PHP语言开发的整站程序,专用于构建二级域名管理系统。这个源码包为开发者提供了一个完整的解决方案,帮助他们轻松地管理和分配子域名到...

    阿里云点播URL鉴权处理流程

    ### 阿里云点播URL鉴权处理流程详解 #### 一、引言 随着互联网视频业务的蓬勃发展,阿里云点播服务成为了许多企业和个人首选的音视频托管平台之一。其中,URL鉴权作为保障内容安全的重要手段,对于防止视频资源被...

    Laravel 5.4前后台分离,通过不同的二级域名访问方法

    这里的config方法用于从配置文件中读取'route.admin_url'、'route.home_url'和'route.api_url'的值,这些值是在.env或config文件中定义的二级域名前缀。例如,管理后台的二级域名可能被配置为***,而前台网站可能被...

    kindeditor图片上传后生成带域名绝对路径配置及提交空格无法保存解决方法

    ### KindEditor 图片上传后生成带域名绝对路径配置方法 #### 一、KindEditor简介与配置背景 KindEditor是一款基于JavaScript的开源富文本编辑器,它具有轻量级且易于集成的特点,在许多Web项目中被广泛应用。对于...

    最新二级域名分发源码_heavynx5_homer4m_high6j5_fourth9mj_sweetfzn_

    标题中的“最新二级域名分发源码_heavynx5_homer4m_high6j5_fourth9mj_sweetfzn_”表明这是一个关于二级域名分发系统的源代码,其中包含了一些特定的标识符(heavynx5, homer4m, high6j5, fourth9mj, sweetfzn)。...

    tp3.2域名部署详解

    需要注意的是,APP_DOMAIN_SUFFIX参数不支持设置多个后缀,如果你是一级域名后缀的话则该参数可以无需任何设置。 在子域名部署的时候,可以传入隐式的参数,例如: ```php 'APP_SUB_DOMAIN_DEPLOY' =&gt; 1, // 开启子...

    apache的解析域名到目录的方法

    如果需要添加、删除或修改二级域名及其对应的路径,只需更新`vhost.map`文件,无需重启Apache服务器。但要注意,当改变配置后,如果涉及`open_basedir`限制,需要确保新的目录路径在允许的范围内,否则可能会导致PHP...

    PHP实现通过URL提取根域名

    PHP实现通过URL提取根域名主要涉及到解析URL字符串并从中提取出域名部分,通常指顶级域名和二级域名。实现这一功能,我们可以使用PHP内置的字符串处理函数和正则表达式。本文将详细探讨在PHP中如何实现这一功能以及...

    php中取得URL的根域名的代码

    ### PHP中获取URL的根域名方法详解 在Web开发中,经常需要处理URL相关的操作,例如提取URL中的根域名。本文将详细介绍一个PHP脚本,该脚本用于从给定的URL中提取出根域名,并对其进行解析。此脚本不仅适用于PHP初学...

    [主机域名]php ajax 域名查询_domainsearch.zip

    "php ajax 域名查询_domainsearch" 这个标题涉及到的是一个基于PHP和AJAX技术的域名查询系统。PHP是一种广泛使用的服务器端脚本语言,尤其适用于Web开发,而AJAX(Asynchronous JavaScript and XML)则是一种在不...

    2022年泛解析出大量二级域名如何操作.docx

    2022年,随着互联网应用的多元化,一些网站管理员可能需要更多的二级域名来满足不同的需求,如创建个性化的用户URL、搭建子站点等。本文将详细讲解如何操作泛解析生成大量二级域名。 首先,理解泛解析的基本概念至...

    PHP 检测网址是否能正常打开代码

    通过以上方法,我们可以编写PHP代码来检测一个URL是否能够正常打开,并获取相关的HTTP响应信息。在实际开发中,可以根据需求选择合适的方法,确保代码的健壮性和可维护性。在进行此类操作时,还应注意遵守网站的...

    PHP获取网站域名和地址的代码

    5. **Cookie的二级域名**:在设置cookie时,可以通过设置 `domain` 参数使其在指定的二级域名下生效。 6. **curl访问域名**:使用 `curl` 执行HTTP请求,可能出现405错误,这通常意味着请求的方法(GET、POST等)不...

Global site tag (gtag.js) - Google Analytics