Не работает часть скрипта возврата домена из ссылки
Здравствуйте люди добрый! Помогите пожалуйста.
Имеется скрипт который с указанного сайта парсит и и разбивает ссылки на элементы, он рабочий.
<?php
$homepage = file_get_contents('https://yandex.ru');
preg_match_all("/<[Aa][\s]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\s]*([^ \"'>\s#]+)[^>]*>/", $homepage, $matches);
$urls = $matches[1];
for ($i = 0; $i < count($urls); $i++)
{
$parse = parse_url($urls[$i]);
print_r($parse);
echo $parse;
}
?>
Хочу вытащить из урла только домен, нагуглил, что можно сделать это через reverse_parse_url
<?php
$homepage = file_get_contents('https://yandex.ru');
preg_match_all("/<[Aa][\s]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\s]*([^ \"'>\s#]+)[^>]*>/", $homepage, $matches);
$urls = $matches[1];
for ($i = 0; $i < count($urls); $i++)
{
$parse = parse_url($urls[$i]);
function reverse_parse_url(array $parse)
{
if (!empty($parse['host'])) {
$url .= $parse['host'];
}
return $url;
}
print_r($url);
echo $url;
}
?>
В итоге скрипт не работает, что не так?
Ответы (2 шт):
Автор решения: Антон
→ Ссылка
<?php
$homepage = file_get_contents('https://yandex.ru');
preg_match_all("/<[Aa][\s]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\s]*([^ \"'>\s#]+)[^>]*>/", $homepage, $matches);
$urls = $matches[1];
for ($i = 0; $i < count($urls); $i++)
{
$parse = parse_url($urls[$i]);
$res = $parse['host'].'<br>';
echo $res;
}
?>
Если кому-то интересно
Автор решения: Berkins
→ Ссылка
Вот код с проверкой на наличии домена
$homepage = file_get_contents('https://yandex.ru');
preg_match_all("/<[Aa][\s]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\s]*([^ \"'>\s#]+)[^>]*>/", $homepage, $matches);
$urls = $matches[1];
for ($i = 0; $i < count($urls); $i++)
{
$parse = parse_url($urls[$i]);
if(isset($parse['host'])) {
$res = $parse['host'].'<br>';
echo $res;
}
}