我需要从URL 获取域名
domain.com
domain.co.uk
我应该得到:
.com
.co.uk
我尝试了爆炸功能,但没有显示域".co.uk"(示例)
<?php
$url = "domain.com";
$host = explode('.', $url);
print $host[1];
?>
parse_url
(http://php.net/parse_url),它会帮助你的。
UPDATE基于关闭(当前为第三个答案)-删除域扩展
$url = 'php.co.uk';
preg_match('/(.*?)((?:'.co)?.[a-z]{2,4})$/i', $url, $matches);
print_r($matches);
忽略跟随-坏的做法,但仍然解释工作的爆炸。
看看你什么时候爆炸,然后用".",它在.co.uk上找到了两次。因此,如果您在哪里同时回显$host[1]&主持人[2]你将分别获得英国联合会。
因此,作为一个部分完整的(不确定你的最终游戏是什么)解决方案:
解决方案:
$url = "domain.co.uk";
$host = explode('.', $url);
$first = true;
foreach($host as $hostExtension){
if($first){
$first = !$first;
continue;
}
else{
echo $hostExtension .'<br>';
}
}
不过,为了清楚起见,其他答案解释了应该如何解析URL。我只是想解释一下(回答这个问题)你的代码为什么要做/返回它是什么,以及你将如何获得预期结果。