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

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

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

Спасибо.

5
задан user187580 17 June 2010 в 13:24
поделиться

2 ответа

Вот шаги:

$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'];
6
ответ дан 13 December 2019 в 22:01
поделиться

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

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

Это дает для значений $ :

array(4) {
  ["dir"]=>
  string(1) "r"
  ["hl"]=>
  string(7) "100,200"
  ["ord"]=>
  string(1) "3"
  ["key"]=>
  string(5) "a b c"
}
4
ответ дан 13 December 2019 в 22:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: