网站首页> 文章专栏> PHP获取顶级域名,非正则
PHP获取顶级域名,非正则
编辑时间:2017-12-27 14:20:51 作者:mogo 浏览:1169 评论:0

我相信在很多时候,我们需要用到正则去获取<a href='">连路径都不要。 

又有一种情况,很多伙伴对正则不熟。在网上没有找到合适的正则,那么我就写出了下面的函数 不处理大数据的情况下可以使用,效率比正则低,但是低不到哪里去。

/**
 * 读取顶级域名
 * @param $httpurl
 * @return string
 */
public static function parseRootDomain($httpurl)
{
    $url = str_replace("http://","", $httpurl);
    $url = str_replace("https://","", $url);
    $urls = explode("/", $url);
    if(empty($urls)) {
        return "";
    }
    $url = $urls[0];
    $urls = explode("?", $url);
    if(empty($urls)) {
        return "";
    }
    $domain = $urls[0];
    $domain_items = explode(".", $domain);
    $count = count($domain_items);
    if(isset($domain_items[$count-1])) {
        $end1 = $domain_items[$count-1];
        $end2 = isset($domain_items[$count-2]) ? $domain_items[$count-2] : "";
        $end3 = isset($domain_items[$count-3]) ? $domain_items[$count-3] : "";
        $domain = $end2.".".$end1;
        if($end1==="cn") {
            if(in_array($end2, array("com","net", "gov", "org"))) {
                $domain = $end3.".".$end2.".".$end1;
            }
        }
    }
    return trim($domain,'"');
}
来说两句吧
最新评论