PHP實現(xiàn)獲取url地址中頂級域名的方法示例
本文實例講述了PHP實現(xiàn)獲取url地址中頂級域名的方法。分享給大家供大家參考,具體如下:
parse_url()獲取到的host時多級域名,如:mp.weixin.qq.com。做域名黑名單的時候我們需要得到頂級域名。
有不足之處還請留言指正,謝謝。
<?php
/**
* @Author: Ding Jianlong
* @Date: 2019-03-07 16:14:04
* @Last Modified by: Ding Jianlong
* @Last Modified time: 2019-03-20 13:45:12
*/
header('content-type:text/html;charset=utf-8');
//獲取頂級域名
function getTopHost($url){
$url = strtolower($url); //首先轉(zhuǎn)成小寫
$hosts = parse_url($url);
$host = $hosts['host'];
//查看是幾級域名
$data = explode('.', $host);
$n = count($data);
//判斷是否是雙后綴
$preg = '/[\w].+\.(com|net|org|gov|edu)\.cn$/';
if(($n > 2) && preg_match($preg,$host)){
//雙后綴取后3位
$host = $data[$n-3].'.'.$data[$n-2].'.'.$data[$n-1];
}else{
//非雙后綴取后兩位
$host = $data[$n-2].'.'.$data[$n-1];
}
return $host;
}
// 測試
echo getTopHost("http://ABC.com/s/j?wd=djl"),'<br>';
echo getTopHost("http://www.abc.com/s/j?wd=djl"),'<br>';
echo getTopHost("http://2.www.abc.com/s/j?wd=djl"),'<br>';
echo getTopHost("https://mp.weixin.qq.com/s?__biz=MzA3ODI3ODUzMw=="),'<br>';
echo getTopHost("http://cfi.net.cn/"),'<br>';
echo getTopHost("http://www.cfi.NEt.cn/"),'<br>';
echo getTopHost("https://www.sina.com.cn/?from=kandian"),'<br>';
運(yùn)行結(jié)果:
abc.com
abc.com
abc.com
qq.com
cfi.net.cn
cfi.net.cn
sina.com.cn
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php socket用法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》及《PHP網(wǎng)絡(luò)編程技巧總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
php中將地址生成迅雷快車旋風(fēng)鏈接的代碼[測試通過]
php中將地址生成迅雷快車旋風(fēng)鏈接的代碼,非常不錯,將下面的代碼保存為cs.php運(yùn)行即可。2011-04-04
php字符比較函數(shù)similar_text、strnatcmp與strcasecmp用法分析
這篇文章主要介紹了php字符比較函數(shù)similar_text、strnatcmp與strcasecmp用法,以實例形式詳細(xì)分析了這三個字符串比較函數(shù)的具體用法,非常具有實用價值,需要的朋友可以參考下2014-11-11
php實現(xiàn)數(shù)組縱向轉(zhuǎn)橫向并過濾重復(fù)值的方法分析
這篇文章主要介紹了php實現(xiàn)數(shù)組縱向轉(zhuǎn)橫向并過濾重復(fù)值的方法,結(jié)合具體實例形式對比分析了php針對數(shù)組遍歷、轉(zhuǎn)換與去重相關(guān)操作技巧,需要的朋友可以參考下2017-05-05
解析PHP中的內(nèi)存管理,PHP動態(tài)分配和釋放內(nèi)存
本篇文章是對PHP中的內(nèi)存管理,PHP動態(tài)分配和釋放內(nèi)存進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

