5

给定一个 URL:

http://mysite.com/this-is/the/path

我只想要方案和主机即http://mysite.com/

目前我正在使用parse_url然后像这样构建它:

$urlParts = parse_url($url);
$newUrl = $urlParts['scheme'] . "://" . $urlParts['host'] . "/";

没有可以剥离路径的PHP函数吗?

4

3 回答 3

6

不是我知道的。这是您可以考虑编写自己的公共函数的一个很好的例子。

public function stripUrlPath($url){
    $urlParts = parse_url($url);
    $newUrl = $urlParts['scheme'] . "://" . $urlParts['host'] . "/";
    return $newUrl;
}

然后在整个代码中使用它:

$newUrl = stripUrlPath($oldUrl);
于 2013-09-27T00:40:39.607 回答
0

您可以使用正则表达式:

$url = 'http://mysite.com/this-is/the/path';
$pattern = '~^(.*?//.*?)/.*~';
preg_match($pattern, $url, $matches);
echo $matches[1]; // http://mysite.com

但是,我会parse_url()像您目前所做的那样使用和重建字符串。

于 2013-09-27T00:39:03.490 回答
-2
<?php
  echo 'http://' . $_SERVER['HTTP_HOST'] . '/';
?>
于 2013-09-27T01:08:00.907 回答