Иногда нужно быстро получить GET-параметр из строки с URL, в этом поможет PHP функция parse_url()
.
$url = 'http://site.ru/path?email=mail@site.ru&name=site';
$parts = parse_url($url);
parse_str($parts['query'], $query);
// Все GET-параметры
print_r($query);
// Параметр «email»
echo $query['email'];
Для частого использования лучше применять функцию:
function getUrlQuery($url, $key = null)
{
$parts = parse_url($url);
if (!empty($parts['query'])) {
parse_str($parts['query'], $query);
if (is_null($key)) {
return $query;
} elseif (isset($query[$key])) {
return $query[$key];
}
}
return false;
}
// Все GET-параметры
$data = getUrlQuery('http://site.ru/path?email=mail@site.ru&name=site');
print_r($data);
// Параметр «email»
echo getUrlQuery('http://site.ru/path?email=mail@site.ru&name=site', 'email');
Результат:
Array(
[email] => mail@site.ru
[name] => site
)
mail@site.ru