假设有人输入这样的网址:
http://i.imgur.com/a/b/c?query=value&query2=value
我想返回: imgur.com
imgur.com
不 i.imgur.com
i.imgur.com
这是我现在拥有的代码
$sourceUrl = parse_url($url); $sourceUrl = $sourceUrl['host'];
但这又回来了 i.imgur.com
检查下面的代码,它应该做的很好。
<?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' ?>