获取URL动态的最后一部分

时间:2018-11-28 12:57:56

标签: php url

我找到了获取网址最后一部分的方法,我只是不知道是否还有更好的方法,因为我希望它是动态的。

这是我的方法:

$url = $_SERVER['REQUEST_URI'];
$categoryName = basename($url);

在这种情况下,网址的最后一部分始终是我数据库中的类别(例如,恐怖),因此该网址将始终如下所示:

http://localhost:8888/blog/public/index.php/categories/Horror

http://localhost:8888/blog/public/index.php/categories/Fantasy

我想你明白我的意思。

好吧,问题是,有没有更好的方法或者我还好吗?特别是在查看

$_SERVER['REQUEST_URI']

3 个答案:

答案 0 :(得分:0)

使用explode()/分隔符分割URL,然后使用end()获取数组的最后一项。

$url = "http://localhost:8888/blog/public/index.php/categories/Horror";
$categoryName = @end(explode("/", $url));
// Horror

答案 1 :(得分:0)

您始终可以使用简单的正则表达式来获取它。

$re = '@.*/(.*)@m';
$str = 'http://localhost:8888/blog/public/index.php/categories/Horror';

preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);

echo $matches[0][1];
//outputs `Horror`

答案 2 :(得分:0)

如果您使用Laravel或交响乐,请使用end(Request::segments())