php Get Root Domain Name Method Summary

  • 2021-07-24 10:17:59
  • OfStack

This paper summarizes the method of obtaining root domain name by php, and shares it with you for your reference. The specific implementation method is as follows:

If you simply get the domain name currently visiting your page, we only need to use the function HTTP_HOST in php. If it is regular to extract the root domain name of url, let's take a look at several specific examples.

It is very simple to get the current domain name:

<?php
// Get the current domain name :
echo $_SERVER['SERVER_NAME'];
// Get the source URL , That is, click to the previous website of this page
echo $_SERVER["HTTP_REFERER"];
$_SERVER['REQUEST_URI'];// Gets the suffix of the current domain name
$_SERVER['HTTP_HOST'];// Get the current domain name
dirname(__FILE__);// Gets the physical path of the current file
dirname(__FILE__)."/../";// Object of the current file 1 Level physical path
?>

Example 1

function getUrlRoot($url){
        # Add Head and Tail
        $url = $url . "/";
        # Judge domain name
        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);
        # Judge IP
        if($ohurl[3] == ''){
                preg_match("/((\d+\.){3}\d+)\//", $url, $ohip);
                return $ohip[1];
        }
        return $ohurl[3];
}

Example 2

/**
 * Get the root domain name
 * @param type $domain Domain name
 * @return string Return to Root Domain Name
 */
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;
}

I hope this article is helpful to everyone's php programming.


Related articles: