Получите переменные GET из строки URL

Эй, скажем, у меня есть URL-адрес, который проходит через мой php, есть ли простой способ получить переменные GET, которые проходят через него? Это не настоящий URL-адрес страницы или что-то еще.

как и просто строка, содержащая

http://www.somesite.com/index.php?url=var&file_id=var&test=var

Каков наилучший способ получить значения для этих переменных?

Related of "Получите переменные GET из строки URL"

parse_str(parse_url($url, PHP_URL_QUERY), $array) , см. man- страницу для parse_str для получения дополнительной информации.

 $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 ) */ 

На самом деле это намного проще, чем писать какие-либо пользовательские функции.

$ queryStr = $ _SERVER ['QUERY_STRING'];

Я бы использовал что-то вроде:

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

тогда

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

Надеюсь, что это работает.

Быстрый google для «PHP GET» дает эту страницу из w3schools:

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