搜索站点中的文件并将其复制到阵列

时间:2011-07-12 11:34:21

标签: php arrays full-text-search

我想从此网站http://cvs.snort.org/viewcvs.cgi/snort/rules/

搜索* .rules

将文件串复制到数组

我该怎么做? 例如:

$array=array('backdoor.rules','bad-traffic.rules');

我可以用

$str=file_get_contents( 'http://cvs.snort.org/viewcvs.cgi/snort/rules');

但我该怎么搜索?

2 个答案:

答案 0 :(得分:0)

您需要使用正则表达式来获取源

的任何匹配项
    $url = 'http://cvs.snort.org/viewcvs.cgi/snort/rules/';
    $contents = file_get_contents($url);
    //Regex to match any links that have .rule in it
    preg_match_all('/<a href="([^"]+\.rules[^"]*)">/i', $contents, $result, PREG_PATTERN_ORDER);
    foreach ($result[1] as $link) {
        //Fetch the link and save
    }

此代码将获取网页的内容,并运行一个正则表达式,该正则表达式匹配任何包含.rules的链接。

在循环中,您可以保存文件(使用file_get_contents,然后fopenfwritefclose

答案 1 :(得分:0)

1。获取内容

$contents = file_get_contents('http://cvs.snort.org/viewcvs.cgi/snort/rules/');

2。搜索并将找到的文件放在$matches[1]

preg_match_all('/href="([^"]+\.rules)"/', $contents, $matches);

3。对数组做任何事情

$matches[1];