Блог веб разработки

Блог веб-разработки статьи | видеообзоры | исходный код

parse_url() и parse_str() php

Всем привет в этой небольшой статье мы с вами познакомимся с функциями parse_url() и parse_str() которые позволяют разбивать url строку на составляющие элементы. Под составляющими элементами я понимаю (протокол, хост, порт, параметры и т.п)

Допустим у нас есть следующая url строка:

$url_str = "https://webfanat.com:8083/article_id?id=136#136";

И мы хотим разбить ее на фрагменты. Для этого достаточно воспользоваться функцией parse_url().

var_dump(parse_url($url_str));

В данную функцию мы передаем нашу url строку и на выходе получаем ассоциативный массив содержащий следующие пары свойств и значений.

scheme => https

host => webfanat.com

port => 8083

path=> /article_id

query=> id=136

fragment=>136

Как видите вся наша url строка была разбита на составные ее части. Теперь нам достаточно просто обратится к любому ключу массива для получения его содержимого. К примеру мы хотим получить номер порта.

var_dump(parse_url($url_str)['port']);

В результате нам вернется номер порта. Если нам требуется получить одно или несколько значений фрагментов url строки мы можем в функцию parse_url() передать второй аргумент в виде надстройки.

Пример, получение параметров адресной строки.

var_dump(parse_url($url_str, PHP_URL_QUERY));

Как видите здесь для получения параметров адресной строки мы воспользовались константой PHP_URL_QUERY. Остальные фрагменты url строки мы можем получать точно также по аналогии(PHP_URL_SCHEME - scheme, PHP_URL_PORT - port и т.п.)

Давайте рассмотрим теперь функцию parse_str(). Данная функция позволяет обрабатывать строку параметров url.

$url_str = "https://webfanat.com:8083/article_id?id=136&new=1#136";
$query = parse_url($url_str, PHP_URL_QUERY);
parse_str($query, $output);
var_dump($output);

В саму функцию мы передаем строку параметров url и переменную($output) в которую будет возвращен результат. Отмечу что наличие второго аргумента обязательно!

В итоге у нас в переменную $output записывается ассоциативный массив содержащий пары свойств и значений параметров url строки.

var_dump($output['id']);// значение параметра id
var_dump($output['new']);// значение параметра new

В общем функцию parse_str() мы можем применять к любым строкам такого формата(?свойство=значение&свойство=значение)

На этом данная статья подошла к концу. Не забывайте оставлять комментарии.

Удачи!

Оцените статью

Еще статьи

Функция инвертирования цветов картинок в css

GIT удаленный репозиторий

Три полезных метода для работы с объектами в javaScript

Комбинаторный оператор сравнения в php7

tkinter создание окна

Сжатие строк php

Модальные окна python

requests python

Комментарии

Проверочный код

В данном разделе пока нет комментариев!

История

    ПОДПИСКА

    • Подпишись и получай информацию о выходе новых статей на почту! Просто введите свою почту, нажмите кнопку подписаться. На почту должно будет прийти сообщение с потверждением подписки. Если сообщение не пришло проверьте раздел спам или попробуйте другую почту. Также по всем техническим проблемам вы можете написать в поддержку

    НОВОСТИ

    • Всем привет! Запустил новый сервис для поиска и бесплатного скачивания, прослушивания аудиокниг. Здесь вы можете найти множество литературы и прослушать ее. Вскоре возобновлю написание статей.