【问题标题】:Remove query strings from url从 url 中删除查询字符串
【发布时间】:2011-04-22 23:24:04
【问题描述】:

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

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

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

我想删除q1q3,留下q2,并添加q4 及其值v4

我该怎么做?

【问题讨论】:

    标签: php url query-string


    【解决方案1】:

    有点取决于您是否知道键是什么。如果你这样做,它会是这样的:

    $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 将其转回字符串。

    【讨论】:

    • 哦,我假设您已经在 GET 中有这些参数。如果你不这样做,你将需要 parse_url。我会将其添加到答案中。
    猜你喜欢
    • 2011-02-02
    • 2016-07-22
    • 2011-03-28
    • 1970-01-01
    • 2018-12-08
    • 2019-02-27
    • 2019-01-14
    相关资源
    最近更新 更多