在追踪斜线之前获取URL的结尾部分

时间:2015-02-26 14:51:24

标签: php

我试图在尾随反斜杠之前检索URL的最后一部分。我之前使用过这个,效果很好,但我在开发的网站上的URL没有尾随斜杠。以下是我用于此的代码。

$link = $_SERVER["REQUEST_URI"];
$link_array = explode('/',$link);
echo $page = end($link_array);

任何帮助将不胜感激,

亲切的问候,

里斯

4 个答案:

答案 0 :(得分:2)

这对我有用

$link = $_SERVER["REQUEST_URI"];
if(substr($link, -1) == '/') {
$link = substr($link, 0, -1);
}
$link_array = explode('/',$link);
echo $page = strtoupper(end($link_array));

答案 1 :(得分:0)

你可以尝试:

$link = $_SERVER["REQUEST_URI"];
$link_array = explode('/',$link);
$lastPart = str_replace('/', '', $link_array[count($link_array) - 1]);

答案 2 :(得分:0)

你快到了。您必须选择倒数第二个值:

$link = $_SERVER["REQUEST_URI"];
$link_array = explode('/',$link);
end($link_array);//move cursor to the end
//pick last or second last depending on trailing slash
$page = substr($link,-1) == "/" ? prev($link_array) : current($link_array);
echo $page;

答案 3 :(得分:-1)

您可以使用php的parse_url来解析网址并获取所需的组件。

修改

$url = 'http://' . $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI];
if (substr("url", -1) == '/') {
    rtrim($url , "/")
}
$lastPart = substr($url, strrpos($url, '/') + 1);

这是来自Stackoverflow帖子:

Get the full URL in PHP

Get characters after last / in url