PHP从一些变量查询中剪切URL

Cro*_*der -3 php url

如果我有这样的URL:

http://localhost/myfile.php?start=2018&end=2019&page=1&status=

是否有人知道如何替换包含该链接的任何单词page=

我想要的结果是:

http://localhost/myfile.php?start=2018&end=2019&status=

即使链接是这样的:

http://localhost/myfile.php?start=2018&end=2019&status=&page=3

我仍然希望结果没有page变量和值,所以它可能是: http://localhost/myfile.php?start=2018&end=2019&status=

知道如何做到这一点?特别是没有正则表达式(正则表达式是我的最后选择)

Aym*_*Dev 5

你可以使用parse_url(),parse_str()http_build_query():

// Your URL
$str = 'http://localhost/myfile.php?start=2018&end=2019&page=1&status=';

// Get parts
$parts = parse_url($str);

// Get array of arguments
parse_str($parts['query'], $args);

// Remove unwanted index
unset($args['page']);

// Rebuild your URL
echo $parts['scheme'] . '://' . $parts['host'] . $parts['path'] . '?' . http_build_query($args);

// Output: http://localhost/myfile.php?start=2018&end=2019&status=
Run Code Online (Sandbox Code Playgroud)

我鼓励阅读print_r()此示例代码的文档或代码以便更好地理解.