PHP自定義函數(shù)獲取URL中一級域名的方法
本文實例講述了PHP自定義函數(shù)獲取URL中一級域名的方法。分享給大家供大家參考,具體如下:
<?php
/*
* Created on 2016-8-23
*/
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;
}
echo top_domain("http://tools.jb51.net/");
?>
運行結(jié)果為:

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php正則表達式用法總結(jié)》、《php curl用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php排序算法總結(jié)》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》、《PHP數(shù)學(xué)運算技巧總結(jié)》、《PHP運算與運算符用法總結(jié)》、《php字符串(string)用法總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
- PHP獲取網(wǎng)址的頂級域名函數(shù)代碼
- PHP 二級子目錄(后臺目錄)設(shè)置二級域名
- php中cookie實現(xiàn)二級域名可訪問操作的方法
- PHP實現(xiàn)通過URL提取根域名
- php采用curl訪問域名返回405 method not allowed提示的解決方法
- php中取得URL的根域名的代碼
- PHP如何獲取當(dāng)前主機、域名、網(wǎng)址、路徑、端口等參數(shù)
- 總結(jié)PHP如何獲取當(dāng)前主機、域名、網(wǎng)址、路徑、端口和參數(shù)等
- php獲取根域名方法匯總
- php gethostbyname獲取域名ip地址函數(shù)詳解
- PHP獲取網(wǎng)站域名和地址的代碼
- PHP實現(xiàn)獲取url地址中頂級域名的方法示例
相關(guān)文章
php lcg_value與mt_rand生成0~1隨機小數(shù)的效果對比分析
下面小編就為大家?guī)硪黄猵hp lcg_value與mt_rand生成0~1隨機小數(shù)的效果對比分析。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04
PHP實現(xiàn)微信JS-SDK接口選擇相冊及拍照并上傳的方法
這篇文章主要介紹了PHP實現(xiàn)微信JS-SDK接口選擇相冊及拍照并上傳的方法,涉及php微信接口的調(diào)用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2016-12-12
PHP實現(xiàn)MVC開發(fā)得最簡單的方法——模型
PHP實現(xiàn)MVC開發(fā)得最簡單的方法——模型...2007-04-04

