获取顶级域名——PHP笔记
<?php
/*
* @Project:
* @Date: 2021-09-26 20:57:33
* @LastEditors: Qicloud 、inis
* @LastEditTime: 2021-10-02 23:14:15
* @FilePath: \utils\helper.php
* 落座无言行三载,持笔无悔笑苍生!
*/
/**
* 获取顶级域名
* @param string|null $url
* @return TopDomain
*/
function GetTopDomain(string $url = null)
{
// 判断网址是否带http://或https://
if (preg_match('/^http(s)?:\\/\\/.+/', $url)) {
$hosts = parse_url(strtolower($url));
$host = $hosts['host'];
} else {
$host = strtolower($url);
}
// 查看是几级域名
$data = explode('.', $host);
$n = count($data);
// 判断是否是双后缀
$preg = '/[\w].+\.(com|net|org|gov|edu)\.cn$/';
// 双后缀取后3位
if (($n > 2) && preg_match($preg, $host)) $host = $data[$n - 3] . '.' . $data[$n - 2] . '.' . $data[$n - 1];
// 非双后缀取后两位
else $host = $data[$n - 2] . '.' . $data[$n - 1];
return $host;
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 七云's Blog!