У меня возник вопрос на счёт формирования URL.
Ситуация:
Имееется URL с GET-параментрами типа /listProduct/list/?brand[]=1&brand[]=2.
Формирую я этот URL функцией
function ggp($url) {
preg_match('/^(.+?)(\?.*?)?(#.*)?$/', $url, $matches);
$gp = (isset($matches[2])) ? $matches[2] : '';
return $gp;
}
Имеются ссылки:
<a href="<?=ggp ($_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']).$getParam?>brand[]=1">Бренд 1</a>
<a href="<?=ggp ($_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']).$getParam?>brand[]=2">Бренд 2</a>
<a href="<?=ggp ($_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']).$getParam?>brand[]=3">Бренд 3</a>
Параметр $getParam это ничто иное как либо "?", либо "&", которые я формирую так:
$parse_url = parse_url($_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']);
$getParam = isset ($parse_url['query']) ? '&' : '?';
Вопрос заключается в следующем:
Как мне из этого адреса удалить повторные параметры, например, если у меня будет такая строка /listProduct/list/?brand[]=1&brand[]=2&brand[]=2, то мне надо чтоб все одинаковые параметры были удалены, т.е остаться должно /listProduct/list/?brand[]=1.
Я делаю фильтр по товарам. В URL будет ещё входить другие параметры.
Может я всё как-то тяжело делаю? Возможно ли оптимизировать как-то уже сделанное?
Заранее благодарю за помощь.