【发布时间】:2013-04-10 11:25:04
【问题描述】:
我制作了一个简单的脚本,可以找到网站的所有传出 <a> 标记并显示它们。
为此,我首先抓取站点地图,将这些 URL 放入一个数组中,然后遍历 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 构建的第一个真实的东西
【问题讨论】:
标签: php performance strpos