程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP獲取網址的頂級域名函數代碼

PHP獲取網址的頂級域名函數代碼

編輯:關於PHP編程

PHP獲取網址的頂級域名函數

目前國際頂級域名有:com|edu|gov|int|mil|net|org|biz|info|pro|name|museum|coop|aero|xxx|idv|mobi|cc|me
地域型域名比較多,應該是每個國家地區都會有吧,有心可以去收集,不過據我了解這個域名都是2個字母構成的,它可以單獨使用也可以喝國際頂級域名結合使用地域型域名如:
cn 中國
tw 台灣
hk 香港

域名例子:
jb51.cn
baidu.com
jb51.com.cn

以jb51.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 = "http://www.jb51.net/tools/zhengze.html";
echo getdomain ( $str );

輸出:jb51.net

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved