我想获取任何 url 的主机名,例如,如果我有以下 url
$url = "http://www.google.com";
然后我只想获取 google
点 .
之后和扩展点 .
之前的内容,以便它可以应用于所有类型网址。
所以结果应该是 google
!我认为这可能需要正则表达式或以某种方式
知道怎么做,谢谢。
最佳答案
你可以试试
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;
}
输出
google
google
google
https://stackoverflow.com/questions/12689183/