(краткое содержание)
Разбор URL
mixed parse_url(string $url [, int $component = -1 ])
Функция принимает на входе URL, разбивает его на элементы и возвращает
их в виде ассоциативного массива.
Рассмотрим пример работы функции со следующим URL:
http://login:pass@www.example.com:80/path/to/page.php?param=value#anchors
Листинг 42.1. Работа функции parse_url()
//Задаем url-адрес
$url =
"http://login:pass@www.example.com:80/path/to/page.php?param=value#anchors";
$url_arr = parse_url($url);
1
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)
Сборка URL
Для сборки URL не предусмотрено стандартной функции. Существуют
дополнительные библиотеки, такие как PECL, которые имеют в наличии функции
http_build_str() и http_build_url(). В этом уроке Вы построите функции сборки URL
самостоятельно, но какой выбор делать в будущем, использовать функцию
собственной сборки или же готовые пакеты – решать Вам. Чаще всего в подобных,
расширяющих возможности PHP, пакетах присутствует большое количество
полезных инструментов, которые были неоднократно протестированы и их
использование будет оптимальным решением. Главное – не использовать те
расширения, которые не требуются в работе над проектом и не перегружать его.
Теперь перейдем к функции сборки URL:
Листинг 42.2. Функция сборки URL
function build_url($arr) {
//Проверяем, является входящая функция массивом или строкой
$url = "";
if(is_array($arr)){
//Проверяем, задан ли протокол
if(isset($arr['scheme']))
$url .= $arr['scheme']."://";
2
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)
foreach($arr['query'] as $v) {
if($arr[1])
$query .= $v;
else
$query .= "&".$v;
}
} elseif(isset($arr['query']) && is_string($arr['query'])) {
$query = $arr['query'];
}
$url .= "?".$query;
return $url;
} else return false;
}
3
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)