如何在PHP中没有GET变量的情况下获取URL的最后一段?

时间:2015-04-06 15:49:42

标签: php string url uri

现在我喜欢它:

<?
  $url=$_SERVER['REQUEST_URI'];
  $requred_string= substr(strrchr($url, "/"), 1);
?>

并返回最后一段,但它也会返回我不需要的所有?p=y&g=x乱码。如何切掉$_GET变量?

2 个答案:

答案 0 :(得分:0)

您可以使用strtok排除查询字符串:

$url = strtok($_SERVER['REQUEST_URI'], '?');
$requred_string = substr(strrchr($url, '/'), 1);
echo $requred_string;

或者如评论中所述,parse_url也会起作用:

$requred_string = substr(strrchr(parse_url($url)['path'], '/'), 1); // PHP 5.4 or greater with dereference

答案 1 :(得分:0)

这里有一个更优雅的方式basename(parse_url($url, PHP_URL_PATH))