正则表达式从源代码中选择div

时间:2015-02-17 22:08:41

标签: php regex

我的一位客户要求我创建一个监控另一个站点上的文件的简单站点。他需要监控文件名(不确定原因?)并将它们输出到文件中。

以下是示例来源; http://pastebin.com/tyLUmCJr

我不会说俄语,所以我不知道该网站的内容。如果有什么不合适的话,我会道歉。

无论如何,如果您滚动到第117行,您将看到一个文件名。我需要获取所有文件名。

我使用过DOMDocument和第三方工具,但我相信我可以使用正则表达式来提高速度。如果有人能指出我正确的方向,我们将不胜感激。

注意:请记住,源存储在一个名为$ content。

的字符串变量中

干杯!

1 个答案:

答案 0 :(得分:0)

经过一些更详细,更广泛的研究,我找到了一种方法。以下是我如何实现它;

<?php
    require_once("phpQuery.php");
    $min = isset($_GET['min']) ? $_GET['min'] : 1;
    $max = isset($_GET['max']) ? $_GET['max'] : 2; 
    $pages = [];
    foreach(range($min, $max) as $page) {
        array_push($pages, iconv("CP1251", "UTF-8", file_get_contents("http://www.fayloobmennik.net/files/list/" . $page . ".html")));
    }  
    $html = file_get_html("http://www.fayloobmennik.net/files/list/");
    $elem = $html->find('div[id=info] table > tbody', 0);
    $test = $elem->find('tr a');
    foreach ($test as $test2) {
        $regex = '/<a href=\"([^\"]*)\">(.*)<\/a>/iU';
        $test2 = preg_match($regex, $test2, $match);
        print_r(iconv("CP1251", "UTF-8", $match[2]));
        echo "<br/>";
    }
?>

phpQuery.php类是simple_html_dom(我相信它被称之为什么?)。

干杯。