如何从存储在变量中的URL值中检索查询字符串值?

use*_*580 5 php query-string

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

如果它是一个网址,我可以hl通过比较来获得价值$_GET['hl'].但是如何从$ url字符串中检索相同内容.

谢谢.

art*_*ung 6

以下是步骤:

$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>";
Run Code Online (Sandbox Code Playgroud)

生成此输出:

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
)
Run Code Online (Sandbox Code Playgroud)

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'];
Run Code Online (Sandbox Code Playgroud)