这是我在本地主机上获取URL的方法:
$url = (!empty($_SERVER['HTTPS'])) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
echo $url;
它返回:http://localhost/CodeSensei/menu,因为我在菜单页面上。
如何修剪呢?我只想要“ http://localhost/CodeSensei”
我知道我可以这样修剪
echo trim($url,"menu");
但是问题是,“菜单”是动态的,它不断变化取决于页面。有什么方法可以修剪我的网址,使其始终且仅在任何页面中显示“ http://localhost/CodeSensei”?
答案 0 :(得分:0)
此功能可能会对您有所帮助。它会获得一个网址,并返回网址,而后一个/
之后。
<?php
function getSubUrl($originUrl) {
$url = parse_url($originUrl);
$url['scheme'] .= '://';
$url['path'] = dirname($url['path']);
return implode($url);
}
echo getSubUrl('http://localhost/CodeSensei/menu/123') . PHP_EOL;
// http://localhost/CodeSensei/menu
echo getSubUrl('http://localhost/CodeSensei/menu') . PHP_EOL;
// http://localhost/CodeSensei
echo getSubUrl('http://localhost/CodeSensei') . PHP_EOL;
// http://localhost/
echo getSubUrl('http://localhost/') . PHP_EOL;
// http://localhost/
echo getSubUrl('http://localhost') . PHP_EOL;
// http://localhost
答案 1 :(得分:0)
有很多方法可以实现这一目标。您可以与explode()等不同的字符串操纵器一起玩耍。
这是使用explode()
$variable = "http://localhost/CodeSensei/menu";
$variable = (explode("/",$variable));
$url='';
for($i=2;$i<count($variable)-1;$i++)
{
$url .= "/".$variable[$i];
}
$final_url = "http:/".$url;
echo $final_url;
您的输出
http://localhost/CodeSensei