Я пишу базовый сканер, который просто кэширует страницы с помощью PHP.
Все, что он делает, это использует get_file_contents
, чтобы получить содержимое веб-страницы, и регулярное выражение, чтобы вывести все ссылки <a href="URL">DESCRIPTION</a>
- в тот момент, когда он возвращает:
Array {
[url] => URL
[desc] => DESCRIPTION
}
Проблема, с которой я сталкиваюсь, заключается в том, чтобы выяснить логику определения того, является ли ссылка на страницу локальной, или выяснить, может ли она быть в совершенно другом локальном каталоге.
Это может быть любое количество комбинаций: то есть href="../folder/folder2/blah/page.html"
или href="google.com"
или href="page.html"
- возможности безграничны.
Каким будет правильный алгоритм для этого? Я не хочу терять какие-либо данные, которые могут быть важны.