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

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

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() мы можем применять к любым строкам такого формата(?свойство=значение&свойство=значение)

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

Удачи!

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

Еще статьи

transform CSS

history HTML

файловая система PHP

Мета теги

html во весь экран

HTML Visibility

template html

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

array filter js

Комментарии

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

История

    НОВОСТИ

    • Опубликовал приложение под android 'Аудиокниги'. Кому интересно, переходите по ссылке