如何在本地主机上修剪我的家庭URL

时间:2018-08-29 09:55:21

标签: php localhost

这是我在本地主机上获取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”?

2 个答案:

答案 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