从url中删除查询字符串

时间:2011-04-22 23:24:04

标签: php url query-string

如何从网址中删除查询字符串?

示例:我有一个如下所示的网址:

http://example.com?q1=v1&q2=v2&q3=v3

我想删除q1q3,离开q2,然后添加q4及其值v4

我该怎么做?

1 个答案:

答案 0 :(得分:0)

有点取决于你是否知道钥匙是什么。如果你这样做,那就是这样的:

$params = $_GET;

unset($params['q1']);
unset($params['q3']);

$params['q4'] = 'v4';

$my_new_param_string = http_build_query($params);
$new_url = 'http://example.com?' . $my_new_param_string;

您可以直接操作$ _GET,但我不喜欢这样做。 有关http_build_query的更多信息: http://php.net/manual/en/function.http-build-query.php

如果您只是将该网址作为字符串,则可以改为:

$url_bits = parse_url('http://example.com/?q1=v1&q2=v2&q3=v3');
$params = parse_str($url_bits['query']);

其余的工作与$ params = $ _GET之后的位相同。

如果需要,您还可以使用$ url_bits将其重新转换为字符串。