如果我有一個包含URL的變量,那麼我如何獲取基本URL?也就是,如何使用PHP從長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'
我該怎麼做?
如果我有一個包含URL的變量,那麼我如何獲取基本URL?也就是,如何使用PHP從長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'
我該怎麼做?
parse_url
將能夠爲您提取主機。
它有第二個參數,可以幫助您提取URL的不同部分。爲了提取主機上,使用parse_url
以下方式:
$host = parse_url($url, PHP_URL_HOST);
$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 */
?>
見['parse_url()'](http://php.net/parse_url) – drew010 2012-08-06 19:08:10
可能重複[從PHP中解析域URL](http://stackoverflow.com/questions/276516/parsing-domain-from-url-in-php) – nickb 2012-08-06 19:09:30