PHP获取UR中的根域名(非匹配后缀)
- 服务器运维
- 2022-04-26 01:05:43
- 185
提取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.com echo getBaseDomainByUrl('https://www.iddahe.com/zblog/66.html');
(完)
声明:内容整理自网络,文章版权归原作者所有,旨在分享有价值的内容,文章如有侵权请联系本站删除,部分文章如未署名作者来源请联系我们及时备注,感谢您的支持。
本文链接:https://www.shunshiseo.com/yunwei/40.html
发表评论