Intereting Posts
Как описать внешний вид многоколоночного внешнего ключа в картографии Doctrine Производительность FOR vs FOREACH в PHP Сумма многомерного ассоциативного массива PHP PHP array_push не правильная функция, что использовать? Программно добавьте Bundle Products в Magento, используя SKU / ID простых элементов Как добавить javascript на сайт wordpress получить имя изображения при загрузке Получить данные из базы данных mysql, используя php и jquery ajax как перейти на другую страницу после отображения предупреждения JavaScript Как получить целое число между двумя значениями из потока бит? PHP – включить php-файл, а также отправить параметры запроса скрипт работает нормально, когда запускается из командной строки, но не через cron Почему SQLite настолько медленный (~ 2 q / s) на конкретной машине? Преобразовать название страны в код страны Сокращения php Попытка вызова защищенной функции извне класса

php конвертировать все ссылки на абсолютные URL-адреса

Я пишу веб-сайт искателя в php, и у меня уже есть код, который может извлекать все ссылки с сайта. Проблема: сайты используют комбинацию абсолютных и относительных URL-адресов. Примеры (http заменен на hxxp, поскольку я не могу отправлять гиперссылки):

hxxp: //site.com/

site.com

site.com/index.php

hxxp: //site.com/hello/index.php

/hello/index.php

hxxp: //site2.com/index.php

site2.com/index.php

Я не контролирую ссылки (если они абсолютные / относительные), но мне нужно следовать им. Мне нужно преобразовать все эти ссылки в абсолютные URL. Как это сделать в php?

Вот начало

// Your crawler was sent to this page. $url = 'http://example.com/page'; // Example of a relative link of the page above. $relative = '/hello/index.php'; // Parse the URL the crawler was sent to. $url = parse_url($url); if(FALSE === filter_var($relative, FILTER_VALIDATE_URL)) { // If the link isn't a valid URL then assume it's relative and // construct an absolute URL. print $url['scheme'].'://'.$url['host'].'/'.ltrim($relative, '/'); } 

Изучите метод http_build_url как еще один способ создания абсолютного якоря.