在PHP中,取主域名通常指的是从完整的URL中提取出顶级域名(TLD)和二级域名(SLD)。主域名是网站的标识,通常用于构建网站的内部链接、重定向或生成站点地图等。
explode
、substr
等)来提取主域名。Symfony\Component\HttpFoundation\Uri
等库提供了更强大的URL解析功能。以下是一个基于字符串处理的示例代码,用于提取主域名:
function getMainDomain($url) {
$parts = parse_url($url);
$host = isset($parts['host']) ? $parts['host'] : '';
$tlds = array('com', 'org', 'net', 'edu', 'gov', 'mil', 'int', 'biz', 'info', 'name', 'pro', 'museum', 'coop', 'aero', 'xxx', 'idv', 'mobi', 'tel', 'travel', 'arpa', 'root', 'post', 'jobs', 'co.uk', 'ac.uk', 'gov.uk', 'org.uk', 'me.uk', 'net.uk', 'ltd.uk', 'plc.uk', 'asia', 'tel', 'xxx', 'ac', 'co', 'go', 'or', 'ne', 'net', 'org', 'edu', 'gov', 'mil', 'int', 'biz', 'info', 'name', 'pro', 'museum', 'coop', 'aero', 'xxx', 'idv', 'mobi', 'tel', 'travel', 'arpa', 'root', 'post', 'jobs');
foreach ($tlds as $tld) {
if (strpos($host, '.'.$tld) !== false) {
$domain = str_replace('.'.$tld, '', $host);
return $domain;
}
}
return $host;
}
$url = 'https://www.example.com/path/to/page';
echo getMainDomain($url); // 输出: example.com
通过以上方法和示例代码,您可以在PHP中有效地提取主域名,并应用于各种实际场景中。
领取专属 10元无门槛券
手把手带您无忧上云