To separate a URL into its individual components, use parse_url()
:
$url = 'http://www.example.com/page?foo=1&bar=baz#anchor';
$parts = parse_url($url);
After executing the above, the contents of $parts
would be:
Array
(
[scheme] => http
[host] => www.example.com
[path] => /page
[query] => foo=1&bar=baz
[fragment] => anchor
)
You can also selectively return just one component of the url. To return just the querystring:
$url = 'http://www.example.com/page?foo=1&bar=baz#anchor';
$queryString = parse_url($url, PHP_URL_QUERY);
Any of the following constants are accepted: PHP_URL_SCHEME
, PHP_URL_HOST
, PHP_URL_PORT
, PHP_URL_USER
, PHP_URL_PASS
, PHP_URL_PATH
, PHP_URL_QUERY
and PHP_URL_FRAGMENT
.
To further parse a query string into key value pairs use parse_str()
:
$params = [];
parse_str($queryString, $params);
After execution of the above, the $params
array would be populated with the following:
Array
(
[foo] => 1
[bar] => baz
)