我知道我可以在php中用parse_url解析完整的url,但我的问题是当我没有完整的url ormat时,我怎么能得到域名。
我的网址有时处于完整路径中,有时处于不完整路径,
作为例子
blahblah.com/ddddd/fffff/a.php?ddddd
http://blahblah.com/ddddd/fffff/a.php?ddddd
我希望它能让我回复 blahbla.com
我的网址不是浏览器网址,将它们视为变量而非当前网址
答案 0 :(得分:1)
实现这一目标的正确方法是使用$_SERVER['HTTP_HOST'];
答案 1 :(得分:1)
试试这个
echo $_SERVER['SERVER_NAME'];
答案 2 :(得分:1)
使用
echo $_SERVER['SERVER_NAME'];
或删除'www。'使用
echo str_replace('www.', '', $_SERVER['SERVER_NAME']);
答案 3 :(得分:0)
试试这个,
$url='blahblah.com/ddddd/fffff/a.php?ddddd';
$Urls = parse_url($url);
if(!isset($Urls['host'])){
$url = 'http://'.$url;
$Urls = parse_url($url);
}
echo $Urls['host'];
答案 4 :(得分:0)
棘手的方式:)
$url_p= parse_url($url);
if(!isset($url_p['scheme'])){
$url='http://'.$url;
$url_p=parse_url($url);
}
echo $url_p['host'];
答案 5 :(得分:0)
最好和官方的方法是使用parse_url()
但在你的特殊情况下,你需要一个技巧:
$url = 'http://'.preg_replace('!^https?://!i', '', $url);
echo parse_url( $url, PHP_URL_HOST );
答案 6 :(得分:0)
试试这个,
$uri = $_SERVER['REQUEST_URI']; // $uri == example.com/index
$exploded_uri = explode('/', $uri); //$exploded_uri == array('example.com','index')
$domain_name = $exploded_uri[0]; //$domain_name = 'example.com'