PHP 获取 URL 中的根域名(非匹配后缀)
提取 URL 中的根域名部分,找了一大圈,很多都是通过域名后缀进行匹配,虽说能实现,但是这样的做法过于繁琐,而且众所周知,域名后缀这种东西,动不动就在更新。
以下案例通过正则方式进行匹配,亲测适用于绝大多数场景。
/**
* $url 要进行提取的 URL
* $tld 是否返回顶级域名后缀
*/function getBaseDomainByUrl($url, $tld = false){
$pieces = parse_url($url);
$domain = isset($pieces['host']) ? $pieces['host'] : '';
if (preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $m)) {
return ($tld === true) ? substr($m['domain'],($pos = strpos($m['domain'], '.')) !== false ? $pos + 1 : 0) : $m['domain'];
}
return false;
}// 结果:iddahe.comecho getBaseDomainByUrl('https://www.laoyu.wang/zblog/66.html');声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
仍然有问题? 我们要如何帮助您?



