如何使用php获取URL主机

Reh*_*hmy 1 php regex url

如果我有以下网址,我想获取任何网址的主机名

$url = "http://www.google.com";
Run Code Online (Sandbox Code Playgroud)

那么我想只得到google点后面.和扩展点之前的内容,.以便它可以应用于所有类型的网址.

所以结果应该是google!我认为这可能需要正则表达式或以某种方式任何想法如何做,谢谢.

Bab*_*aba 7

你可以试试

echo __extractName("http://google.com"); 
echo __extractName("http://office1.dept1.google.com");
echo __extractName("http://google.co.uk");


function __extractName($url)
{
  $domain = parse_url($url , PHP_URL_HOST);
  if (preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $list)) {
    return substr($list['domain'], 0,strpos($list['domain'], "."));
  }
  return false;
}
Run Code Online (Sandbox Code Playgroud)

产量

google
google 
google 
Run Code Online (Sandbox Code Playgroud)