Php 从URL获取纯名称
我使用此函数获取URL的basenamePhp 从URL获取纯名称,php,Php,我使用此函数获取URL的basename function get_domain($url) { $pieces = parse_url($url); $domain = isset($pieces['host']) ? $pieces['host'] : ''; if (preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $regs)) { return $r
function get_domain($url)
{
$pieces = parse_url($url);
$domain = isset($pieces['host']) ? $pieces['host'] : '';
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)
{
$pieces=parse_url($url);
$domain=isset($pieces['host'])?$pieces['host']:'';
if(preg_match('/(?P[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i',$domain,$regs)){
返回$regs['domain'];
}
返回false;
}
打印获取域(“http://mail.somedomain.co.uk"); // 输出“somedomain.co.uk”
但是,如果没有“.co.uk”或“.com”或其他任何东西,我怎么能得到纯名称呢
例如:somedomain没有co.uk
我知道我可以通过str\u replace($old,$new,$string)
删除手册。。。但是没有更好的方法吗?您可以通过以下方式获得您想要的:
$url= "http://mail.somedomain.co.uk";
$parts = parse_url($url);
$hostParts = explode('.',$parts['host']);
$main = $hostParts[1];
echo $main;
然而,这将始终为您提供域的第二部分。所以,如果你有一个像http://somedomain.com/
输出将是com
$array = explode('.', $_SERVER['SERVER_NAME']);
echo $array[1];
或
如果URL是动态的,请尝试此方法
$array = explode('.',$url);
echo $array[1];
您可以使用parse_url