1

如果我有一个包含 URL 的变量,那么如何获取基本 URL?那是,

$url = 'http://www.domain.com/some/stuff/that/I/do/not/want/';
$base_url = some_clever_function($url);
// $base_url is now set equal to 'domain.com'

我怎样才能做到这一点?

4

2 回答 2

12

parse_url将能够为您提取主机。

它有第二个参数,您可以借助它提取 URL 的不同部分。要提取主机,请使用parse_url以下方式:

$host = parse_url($url, PHP_URL_HOST);
于 2012-08-06T19:08:40.197 回答
-3
$url = 'http://google.com/dhasjkdas/sadsdds/sdda/sdads.html';
$parse = parse_url($url);
print $parse['host']; // prints 'google.com'

第二种方法

<?php
// get host name from URL
preg_match("/^(http:\/\/)?([^\/]+)/i",
    "http://www.php.net/index.html", $matches);
$host = $matches[2];

// get last two segments of host name
preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
echo "domain name is: {$matches[0]}\n";

/* Output is php.net */


?>  
于 2012-08-06T19:08:57.353 回答