开发者

searching files in a site and copy them to an array

开发者 https://www.devze.com 2023-03-19 10:22 出处:网络
I want to search *.rules from this site http://cvs.snort.org/viewcvs.cgi/snort/rules/ and copy the strings of files into an array

I want to search *.rules from this site http://cvs.snort.org/viewcvs.cgi/snort/rules/

and copy the strings of files into an array

how can I do this? for example:

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

I can use

$str=file_get_contents( 'http://cvs.sno开发者_运维百科rt.org/viewcvs.cgi/snort/rules');

but how can I search?


You need to use a regex to get any matches of the source

    $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
    }

This code will fetch the contents of the web page, and run a regex which matches any link that has .rules in it.

Inside the loop you can then save the files (using file_get_contents , and then fopen, fwrite and fclose)


1. Get the contents

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

2. Search and put the found files in $matches[1]

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

3. Do anything with the array

$matches[1];
0

精彩评论

暂无评论...
验证码 换一张
取 消