在 PHP 中从子域中提取域名
在 PHP 中,从子域中获取根域名是一项常见任务。考虑一个场景,您遇到如下变量:
here.example.com example.com example.org here.example.org
您的目标是将这些值转换为其根域名,例如 example.com 或 example.org。为此,需要一个精心设计的函数。
解决方案
以下代码片段演示了一个名为 get_domain() 的函数,该函数可以有效地提取根域名:
function get_domain($url)
{
$pieces = parse_url($url);
$domain = isset($pieces['host']) ? $pieces['host'] : '';
if (preg_match('/(?P[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $regs)) {
return $regs['domain'];
}
return false;
}
该函数利用内置的 parse_url() 函数来分解 URL 并检索主机组件。随后,它使用正则表达式来验证和提取根域名,确保其遵守常见的域名命名约定。
通过使用所需的 URL 调用 get_domain(),您可以轻松隔离根域名:
print get_domain("http://somedomain.co.uk"); // outputs 'somedomain.co.uk'
如果 URL 不符合可接受的域结构,该函数会通过返回 false 来优雅地处理这些边缘情况。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3