从URL获取域名 - PHP

时间:2015-12-26 22:26:19

标签: php

我需要从网址

获取域名

domain.com

domain.co.uk

我应该得到:

.COM

.co.uk

我尝试使用爆炸功能,但没有显示域" .co.uk"(示例)

    <?php
$url = "domain.com";

$host = explode('.', $url);

print $host[1];
?>

2 个答案:

答案 0 :(得分:3)

是的,使用php函数parse_urlhttp://php.net/parse_url),它会对你有帮助。

答案 1 :(得分:-2)

基于UPDATE(目前第三个答案) - Remove domain extension

$url = 'php.co.uk';
preg_match('/(.*?)((?:\.co)?.[a-z]{2,4})$/i', $url, $matches);

的print_r($匹配);

IGNORE FOLLOW - 糟糕的做法,但仍然解释了爆炸的工作。

查看您何时爆炸并使用&#39;。&#39;,它会在.co.uk中找到它两次。 所以,如果你在哪里回应$ host [1]&amp; $ host [2]你会分别得到合作。

部分完成(不确定你的最终游戏是什么)解决方案:

解决方案:

$url = "domain.co.uk";

$host = explode('.', $url);
$first = true;
foreach($host as $hostExtension){
  if($first){
      $first = !$first;
      continue;
  }
 else{
      echo $hostExtension .'<br>';
  }
}

要清楚,其他答案解释了如何解析URL。我只是想解释为什么(回答问题)你的代码正在做/返回它是什么以及你将如何得到你想要的结果。