这个在百度可以找到很多方案,说下我的做法:
<?php// 从 URL 中取得主机名preg_match("/^(http://)?([^/]+)/i", "http://www.php.net/index.html", $matches);$host = $matches[2];// 从主机名中取得后面两段preg_match("/[^./]+.[^./]+$/", $host, $matches);echo "domain name is: {$matches[0]}n";?>
执行后输出:domain name is: php.net
为啥要用正则呢,php有自带函数呀
$domain = parse_url($url, PHP_URL_HOST);
如果再精确点,考虑一下子域名:
$parseUrl = parse_url($url);$domain = trim($parseUrl['host'] ? $parseUrl['host'] : array_shift(explode('/', $parseUrl['path'], 2)));
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(2)
这个在百度可以找到很多方案,说下我的做法:
<?php
// 从 URL 中取得主机名
preg_match("/^(http://)?([^/]+)/i", "http://www.php.net/index.html", $matches);
$host = $matches[2];
// 从主机名中取得后面两段
preg_match("/[^./]+.[^./]+$/", $host, $matches);
echo "domain name is: {$matches[0]}n";
?>
执行后输出:domain name is: php.net
为啥要用正则呢,php有自带函数呀
$domain = parse_url($url, PHP_URL_HOST);
如果再精确点,考虑一下子域名:
$parseUrl = parse_url($url);
$domain = trim($parseUrl['host'] ? $parseUrl['host'] : array_shift(explode('/', $parseUrl['path'], 2)));