用PHP删除GET变量的函数

Ibr*_*mar 7 php string

我有这个URI.

HTTP://localhost/index.php性能和状态= AV&页= 1

我使用以下代码获取URI的基名.

$basename = basename($_SERVER['REQUEST_URI']);
Run Code Online (Sandbox Code Playgroud)

上面的代码给了我以下字符串.

的index.php?性能与状态= AV&页= 1

我想从字符串中删除最后一个变量即&page=1.请注意,价值page并不总是如此1.记住这一点我想以这种方式修剪变量.

从字符串的最后位置修剪到第一个分隔符即 &

更新:

我想&page=1从字符串中删除,无论它在哪个位置.

我该怎么做呢?

Kin*_*nch 20

你应该将字符串解析为url(它是什么)而不是使用正则表达式进行黑客攻击

$string = 'index.php?properties&status=av&page=1';

$parts = parse_url($string);

$queryParams = array();
parse_str($parts['query'], $queryParams);
Run Code Online (Sandbox Code Playgroud)

现在只需删除参数

unset($queryParams['page']);
Run Code Online (Sandbox Code Playgroud)

并重建网址

$queryString = http_build_query($queryParams);
$url = $parts['path'] . '?' . $queryString;
Run Code Online (Sandbox Code Playgroud)