解析 URL

要将 URL 分成各个组件,请使用 parse_url()

$url = 'http://www.example.com/page?foo=1&bar=baz#anchor';
$parts = parse_url($url);

执行上述操作后,$parts 的内容为:

Array
(
    [scheme] => http
    [host] => www.example.com
    [path] => /page
    [query] => foo=1&bar=baz
    [fragment] => anchor
)

你还可以选择性地仅返回网址的一个组件。要仅返回查询字符串:

$url = 'http://www.example.com/page?foo=1&bar=baz#anchor';
$queryString = parse_url($url, PHP_URL_QUERY);

接受以下任何常数:PHP_URL_SCHEMEPHP_URL_HOSTPHP_URL_PORTPHP_URL_USERPHP_URL_PASSPHP_URL_PATHPHP_URL_QUERYPHP_URL_FRAGMENT

要进一步将查询字符串解析为键值对,请使用 parse_str()

$params = [];
parse_str($queryString, $params);

执行上述操作后,$params 数组将填充以下内容:

Array
(
    [foo] => 1
    [bar] => baz
)