Задать вопрос
nepster-web
@nepster-web

Как заменить коды UTF8 на символы в URL?

Делаю фильтр выборки, из массива собираю строку для красивого url, типа:
site.ru/filter/date=day;sort=rating

Моя функция:
private function createUrlParam($filter, $param)
	{
        if($param == 'all') 
            unset($this->filterArray[$filter]);
        else
            $this->filterArray[$filter] = $param;
                
        return http_build_query($this->filterArray, '', ';');
    }


При использовании http_build_query генерируется вот такая ссылка:
site.ru/filter/sort%3Ddate%3Bh%3Dnew

То есть символ = заменяет на %3D. Подскажите, пожалуйста, как это исправить?
  • Вопрос задан
  • 2554 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
shaks
@shaks
$params = array('date'=>'day', 'sort'=>'rating');

echo(http_build_query($params, null, ";")); # => date=day;sort=rating


Функция возвращает строку с не урлкодированным сепаратором, значит проблема не в пхп
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы