从完整 URL 获取域名 [英] Get domain name from full URL
本文介绍了从完整 URL 获取域名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设有人输入这样的网址:
say someone enters a URL like this:
http://i.imgur.com/a/b/c?query=value&query2=value
我想返回:imgur.com
不是 i.imgur.com
这是我现在拥有的代码
$sourceUrl = parse_url($url);
$sourceUrl = $sourceUrl['host'];
但这会返回 i.imgur.com
推荐答案
检查下面的代码,它应该可以正常工作.
Check the code below, it should do the job fine.
<?php
function get_domain($url)
{
$pieces = parse_url($url);
$domain = isset($pieces['host']) ? $pieces['host'] : $pieces['path'];
if (preg_match('/(?P<domain>[a-z0-9][a-z0-9-]{1,63}.[a-z.]{2,6})$/i', $domain, $regs)) {
return $regs['domain'];
}
return false;
}
print get_domain("http://mail.somedomain.co.uk"); // outputs 'somedomain.co.uk'
?>
这篇关于从完整 URL 获取域名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文