如何在 PHP 中不使用 GET 变量获取 URL 的最后一段?
How to get last segment of the URL without GET variables in PHP?
现在我是这样的:
<?
$url=$_SERVER['REQUEST_URI'];
$requred_string= substr(strrchr($url, "/"), 1);
?>
它 returns 最后一段,但它也 returns 我不需要的所有 ?p=y&g=x
胡言乱语。如何切掉 $_GET
变量?
您可以使用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
这里有一个更优雅的方式basename(parse_url($url, PHP_URL_PATH))
现在我是这样的:
<?
$url=$_SERVER['REQUEST_URI'];
$requred_string= substr(strrchr($url, "/"), 1);
?>
它 returns 最后一段,但它也 returns 我不需要的所有 ?p=y&g=x
胡言乱语。如何切掉 $_GET
变量?
您可以使用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
这里有一个更优雅的方式basename(parse_url($url, PHP_URL_PATH))