$url = 'http://www.domain.com/file.php?dir=r&hl=100,200&ord=3&key=a+b+c';
Если бы это был URL, то я мог бы получить значение hl
скажем, $_GET['hl']
. но как я получаю то же от строки $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] => 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'];
С помощью функций 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" }