This article summarizes the PHP get root domain name method, share to everyone for your reference. The implementation method is as follows:
If you simply get the current access to your page's domain name, we only need to use the PHP function http_host can be done, if it is to extract the URL root domain is the need for regular, the following to see a few specific instances.
It is very simple to get the current domain name:
The code is as follows:
<?php//get the current domain name: echo $_server[' server_name '];//get the source URL, that is, click to go to the previous page URL of this page echo $_server["Http_referer"];$_server[' Request_uri '];//gets the suffix of the current domain name $_server[' http_host '];//gets the current domain name dirname (file);//Gets the physical path of the current file dirname (file). " /.. /";//Gets the upper-level physical path of the current file?>
Example 1
The code is as follows:
function Geturlroot ($url) { #添加头部和尾巴 $url = $url. "/"; #判断域名 Preg_match ("/(\w*): \/\/)? \w*\.? ([\w|-]*\. (Com.cn|net.cn|gov.cn|org.cn|com|net|cn|org|asia|tel|mobi|me|tv|biz|cc|name|info)) \//", $url, $ohurl); #判断IP if ($ohurl [3] = = ") { Preg_match ("/(\d+\.) {3}\d+) \//", $url, $ohip); return $ohip [1]; } return $ohurl [3];}
Example 2
The code is as follows:
/** * get root domain * @param type $domain domain name * @return string return root domain */function Geturltodomain ($domain) {$re _domain = '; $domain _postfix_cn_array = Array ("com", "net", "org", "gov", "edu", "com.cn", "cn"); $array _domain = Explode (".", $domain); $array _num = count ($array _domain)-1; if ($array _domain[$array _num] = = ' cn ') {if (In_array ($array _domain[$array _num-1], $domain _postfix_cn_array)) { $re _domain = $array _domain[$array _num-2]. "." . $array _domain[$array _num-1]. "." . $array _domain[$array _num]; } else {$re _domain = $array _domain[$array _num-1]. "." . $array _domain[$array _num]; }} else {$re _domain = $array _domain[$array _num-1]. "." . $array _domain[$array _num]; } return $re _domain;}