Urlencode расширенная практика применения

UrlEncode — php-функция, которая подготавливает значение для использования его как часть html ссылки, заменяя спец. символы, кириллицу и т.п. на закодированные hex значения. Обычно так подготавливают GET параметры, передаваемые в url:

URLencode и массивы

Ф-ция urlencode работает только со скалярами. Если вам необходимо сформировать GET параметры из набора параметров (массива) или даже массива массивов, то следует воспользоваться более мощной функцией — http_build_query().

Сформируем ссылку из массива параметров и посмотрим, как эти данные вернутся в $_GET.

URLencode и HTML FORM

Если нужно передать массив параметров в составе формы, как часть данных этой формы, то можно поступить двумя способами:

Передача данных через action

Так можно передать данные, только если установлен тип отправки данных — POST.

или

Если выбрать метод GET, то вместо параметров action в GET будут переданы данные самой формы.

Формирование полей формы

Для случая формы мы также можем сформировать набор «скрытых» полей. Никакие специальные функции PHP здесь не понадобятся, все придется делать самим.

У меня получилась вот такая функция для создания набора тегов input :

В качестве первого параметра она принимает массив данных. Второй параметр позволяет указать имя переменной. Функция работает рекурсивно, так что массив может быть многократно вложенным.

Добавим результат её работы в форму:

В случае нашего массива $a, получим следующий html-код:

Urlencode online

Применение urlencode() очень узкое, на практике больше возникает необходимости в использовании http_build_query(). А в случае подготовки форм, так и вообще обе остаются не у дел.

Чтобы полностью закрыть вопросы с urlencode, предлагаю посмотреть как работает функция «вживую»:

Введите данные для обработки PHP URLencode():


Мало букафф? Читайте есчо !

Как произвести в PHP HTTP авторизацию в запросе через curl

Сентябрь 17, 2020 г.

Пример кода, выполняющий HTTP авторизацию при запросе через curl. Этот тип авторизации также известен как BASIC. Для формирования правильных заголовков запроса вам потребуется правильно установить две опции curl: CURLOPT_HTTPAUTH и CURLOPT_USERPWD. ...

Читать

Работаем с датами широкого диапазона в PHP

Январь 28, 2016 г.

Многие не задумываются при работе в PHP со стандартными функциями даты-времени о диапазоне их применимости (date(), time(), mktime() и т.п). Так мы можем скоро столкнуться с проблемой, подобная которой случалась уже раньше - "ошибка 2000". Я прекрасно ...

Читать

Работа с картинками в API Drupal 7

Сентябрь 28, 2015 г.

Собрал здесь несколько полезных функций, которые могут быть полезны для работы с полем изображений в Drupal семерочке. Данная коллекция представляет из себя закладку с примерами. В памяти всё не удержишь, приходится ползать по выполненным проектам - копипастить ...

Читать

Вариант filemtime для работы с URL

Январь 1, 2018 г.

Может пригодиться, к примеру, для задач кеширования. Мы запросим с сервера только заголовки файла и извлечем из них значение last-modified. Почти готовый вариант я нашел в сети, чуть-чуть изменил для своих задач. Принцип описан ваше. На входе ...

Читать
 

Комментарии к «Urlencode расширенная практика применения»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: