Я сделал простой скрипт, который находит все исходящие теги <a>
веб-сайта и отображает их.
Чтобы сделать это, сначала я очищаю карту сайта, помещаю эти URL-адреса в массив, затем перебираю URL-адреса, очищая каждый из них по отдельности в поисках тегов <a>
, затем запускаю strpos()
для каждого найденного тега, чтобы посмотреть, есть ли в нем какие-либо URL-адреса, которые я хочу игнорировать.
Сценарий занимает около 5 минут (500 очищенных страниц) для завершения (работает локально), и мне было интересно, есть ли более быстрый способ справиться с поиском иголки/стога сена для исключенных параметров. В данный момент я использую
//SEES IF URL CONTAINS EXCLUDED PARAM
function find_excluded_url ($match_url) {
return strpos($match_url, "mydomain.co.uk") ||
strpos($match_url, "tumblr.com") ||
strpos($match_url, "nofollow") ||
strpos($match_url, "/archive") ||
strpos($match_url, "page/2");
}
Чтобы затем отобразить результат, я использую
if ( find_excluded_url($element) == false ) {
echo "<a href='$element->href'>" . $element->href . "</a>";
}
Есть ли более эффективный способ добиться этого?
Извините, если это очень очевидный вопрос, это первая настоящая вещь, которую я создал с помощью PHP.