给定一个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'] . '/';
?>