PHP: Удалить параметр из URL

Дата: 06.11.2015Метки:

Часто возникает задача обработки GET-запроса, содержащегося в строке URL. В данной записи приведу пример небольшой функции для обработки адреса страницы, в которой содержится определенный набор параметров. Функция из примера ниже позволяет удалить заданный параметр из строки URL.

Для примера, нам необходимо удалить параметр id из URL следующего вида:

http://codebeer.ru/?p=1&id=1

После обработки, ссылка должна выглядеть следующим образом:

http://codebeer.ru/?p=1

Для этого будем использовать функцию:

function remove_key($key) {
    parse_str($_SERVER['QUERY_STRING'], $vars);
    $url = strtok($_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], '?') . http_build_query(array_diff_key($vars,array($key=>"")));
    return $url;
}

echo remove_key('id');

Сели необходимо полностью удалить все параметры из строки запроса, удобно использовать:

strtok($url, '?')