如何从网址中删除查询字符串?
示例:我有一个如下所示的网址:
http://example.com?q1=v1&q2=v2&q3=v3
我想删除q1
和q3
,离开q2
,然后添加q4
及其值v4
我该怎么做?
答案 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将其重新转换为字符串。