给定一个 URL:
http://mysite.com/this-is/the/path
我只想要方案和主机即http://mysite.com/
目前我正在使用parse_url
然后像这样构建它:
$urlParts = parse_url($url);
$newUrl = $urlParts['scheme'] . "://" . $urlParts['host'] . "/";
没有可以剥离路径的PHP函数吗?
给定一个 URL:
http://mysite.com/this-is/the/path
我只想要方案和主机即http://mysite.com/
目前我正在使用parse_url
然后像这样构建它:
$urlParts = parse_url($url);
$newUrl = $urlParts['scheme'] . "://" . $urlParts['host'] . "/";
没有可以剥离路径的PHP函数吗?
不是我知道的。这是您可以考虑编写自己的公共函数的一个很好的例子。
public function stripUrlPath($url){
$urlParts = parse_url($url);
$newUrl = $urlParts['scheme'] . "://" . $urlParts['host'] . "/";
return $newUrl;
}
然后在整个代码中使用它:
$newUrl = stripUrlPath($oldUrl);
您可以使用正则表达式:
$url = 'http://mysite.com/this-is/the/path';
$pattern = '~^(.*?//.*?)/.*~';
preg_match($pattern, $url, $matches);
echo $matches[1]; // http://mysite.com
但是,我会parse_url()
像您目前所做的那样使用和重建字符串。
<?php
echo 'http://' . $_SERVER['HTTP_HOST'] . '/';
?>