Во время различных обработок может возникнуть необходимость обрабатывать 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ал эту функцию, пока ехал в маршрутке)))
Ловите функцию
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ал эту функцию, пока ехал в маршрутке)))
Комментариев нет:
Отправить комментарий