Get the GET variables from a URL String

后端 未结 5 1426
生来不讨喜
生来不讨喜 2020-12-05 11:30

Hey, say I have a url just being passed through my php is there any easy way to get some GET variables that are being passed through it? It\'s not the actual url of the page

相关标签:
5条回答
  • 2020-12-05 12:11
    $href = 'http://www.somesite.com/index.php?url=var&file_id=var&test=var';
    
    $url = parse_url($href);
    print_r($url);
    /* Array
    (
        [scheme] => http
        [host] => www.somesite.com
        [path] => /index.php
        [query] => url=var&file_id=var&test=var
    ) */
    
    $query = array();
    parse_str($url['query'], $query);
    
    print_r($query);
    /* Array
    (
        [url] => var
        [file_id] => var
        [test] => var
    ) */
    
    0 讨论(0)
  • 2020-12-05 12:14

    It's actually a lot easier than writing any custom functions.

    $queryStr = $_SERVER['QUERY_STRING'];

    0 讨论(0)
  • 2020-12-05 12:17

    A quick google for "PHP GET" gives this page from w3schools:

    http://www.w3schools.com/php/php_get.asp

    0 讨论(0)
  • 2020-12-05 12:18

    parse_str(parse_url($url, PHP_URL_QUERY), $array), see the manpage for parse_str for more info.

    0 讨论(0)
  • 2020-12-05 12:25

    I'd use something like:

    preg_match_all('/(\?|&)([^=]+=[^&]*)/', $string , $matches);
    

    then

    print_r($matches[2]);
    /*
    Array
    (
        [0] => url=var
        [1] => file_id=var
        [2] => test=var
    )
    */
    

    Hope it works 4 u.

    0 讨论(0)
提交回复
热议问题