Parse_url () функция

Часто используемые функции php я решил выносить в отдельные статьи...потому что запросы обычно бывают именно целевые, то есть люди ищут именно ответ на вопрос по определенной функции...сегодня разберем функцию parse_url()...

Что делает функция parse_url в php

Что она делает очень сложно понять начинающему по тем материалам, что есть в сети...(я пишу это для себя, чтобы лучше понимать, но может и вам пригодиться) ...давайте поподробнее:

Она разбирает(распарсивает адрес урл) на фрагменты, сразу пример:

$url = 'http://saitsozdanie.ru/php/parse-url-funktsiya.html';

print_r(parse_url($url));
echo "<br>";

echo parse_url($url, PHP_URL_PATH);

Ответ получаем такой:

Array ( [scheme] => http [host] => saitsozdanie.ru [path] => /php/parse-url-funktsiya.html )
/php/parse-url-funktsiya.html

То есть print_r показывает то, что перед нами массив и мы его раскладываем на кусочки, а вторая строчка уже показывает необходимый нам фрагмент, который мы выделили с помощью константы PHP_URL_PATH.

Разберем подробнее что получает parse_url()

Функция parse_url(), как мы уже убедились, получает ассоциативный массив, но он может получать и другие элементы адресной строки:

  • scheme - например, http
  • host
  • port
  • user
  • pass
  • path
  • query - после знака вопроса ?
  • fragment - после знака диеза #

Как мы уже убедились для этого достаточно указать константу, из - Укажите одну из констант: PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY или PHP_URL_FRAGMEN.

!!! Все возвращают string и только PORT - integer.

Тут встретил одно интересное примечание на php.ru

Они пишут - мол эта функция предназначена специально для разбора URL-адресов, а не URI (типа она не работает с относительными путями, а только с абсолютными).

Проверим, как же, эта функция достаточно умная, вот что она вернет при:

Она разбирает(распарсивает адрес урл) на фрагменты, сразу пример:

$url = 'php/parse-url-funktsiya.html';

print_r(parse_url($url));
echo "<br>";

echo parse_url($url, PHP_URL_PATH);

Ответ получаем такой:

Array ([path] => php/parse-url-funktsiya.html )
php/parse-url-funktsiya.html

Так что работать можно...)

 

 

Добавить комментарий


Защитный код
Обновить

Вы здесь: Сайтостроение Создание сайта Php Parse_url () функция