вторник, 13 августа 2013 г.

Функция парсинга URL и разбиение

Во время различных обработок может возникнуть необходимость обрабатывать URL, но что делать, если на вход могут подаваться относительные адреса, абсолютные адреса и другое?

Ловите функцию

function parse_address($str)
{
    preg_match("!((http|ftp|https){0,1}://([^/]+))*(/.*)!sim",$str,$a);
    return array('url'=>$a[0],'protocol'=>$a[2],'domain'=>$a[3],'query'=>$a[4]);
}

Данная функция возвращает протокол из юрл, доменное имя и запрос.


Применение:
$u="http://domain.ru/pictures/1.jpg";
$z=parse_address($u);
echo $z['protocol']; //выведет http
echo $z['domain']; //выведет domain.ru
echo $z['query'];  //выведет /pictures/1.jpg


Данная функция применима к относительным и абсолютным URL

Напиcал эту функцию, пока ехал в маршрутке)))

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

Отправить комментарий