【问题标题】:How to retrieve query string value from URL value stored in a variable?如何从存储在变量中的 URL 值中检索查询字符串值?
【发布时间】:2010-06-17 13:24:22
【问题描述】:

$url = 'http://www.domain.com/file.php?dir=r&hl=100,200&ord=3&key=a+b+c';

如果它是一个 url,我可以通过 $_GET['hl'] 获得 hl 的值。但是我如何从 $url 字符串中检索相同的内容。

谢谢。

【问题讨论】:

    标签: php query-string


    【解决方案1】:

    步骤如下:

    $url = 'http://www.domain.com/file.php?dir=r&hl=100,200&ord=3&key=a+b+c';
    print "<pre>";
    
    print $url;
    
    $url_parsed = parse_url($url);
    print_r($url_parsed);
    
    parse_str($url_parsed['query'], $url_parts);
    print_r($url_parts);
    
    print "</pre>";
    

    产生这个输出:

    http://www.domain.com/file.php?dir=r&hl=100,200&ord=3&key=a+b+cArray
    (
        [scheme] => http
        [host] => www.domain.com
        [path] => /file.php
        [query] => dir=r&hl=100,200&ord=3&key=a+b+c
    )
    Array
    (
        [dir] => r
        [hl] => 100,200
        [ord] => 3
        [key] => a b c
    )
    

    parse_url()parse_str()

    因此,获得您想要的 h1 值的步骤是:

    $url = 'http://www.domain.com/file.php?dir=r&hl=100,200&ord=3&key=a+b+c';
    $url_parsed = parse_url($url);
    parse_str($url_parsed['query'], $url_parts);
    print $url_parts['h1'];
    

    【讨论】:

      【解决方案2】:

      使用parse_urlparse_str 函数。

      $qs = parse_url($url, PHP_URL_QUERY);
      parse_str($qs, $values);
      

      这给了$values

      数组(4){ [“目录”]=> 字符串(1)“r” ["hl"]=> 字符串(7)“100,200” [“秩序”]=> 字符串(1)“3” [“键”]=> 字符串(5)“a b c” }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-19
        相关资源
        最近更新 更多