Как получить значение строки запроса из значения URL, хранящегося в переменной?

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

Если бы это был URL, я мог бы получить значение hl , скажем, $_GET['hl'] . но как получить то же самое из строки $ url.

Благодарю.

Related of "Как получить значение строки запроса из значения URL, хранящегося в переменной?"

Вот шаги:

 $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] => abc ) 

См. 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']; 

С помощью функций parse_url и parse_str .

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

Это дает $values :

 array (4) {
   [ "Реж"] =>
   строка (1) "r"
   [ "HL"] =>
   строка (7) "100 200"
   [ "Ог"] =>
   строка (1) "3"
   [ "Ключ"] =>
   строка (5) "abc"
 }