如果我有以下网址,我想获取任何网址的主机名
$url = "http://www.google.com";
Run Code Online (Sandbox Code Playgroud)
那么我想只得到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;
}
Run Code Online (Sandbox Code Playgroud)
产量
google
google
google
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3861 次 |
| 最近记录: |