试图用PHP抓取内容

时间:2012-11-15 16:51:34

标签: php regex

我正在尝试从以下网址获取Facebook页面ID:

  

http://fanpagelist.com/category/top_users/view/list/sort/fans/page1

其中有~25个,通过模式/like_box.php?id=89562268312查看源代码可以找到它们。 https://graph.facebook.com/89562268312/picture等等

<?php 
    $page = file_get_contents('http://fanpagelist.com/category/top_users/view/list/sort/fans/page1');
    preg_match_all('graph.facebook.com,picture', $page, $result, PREG_SET_ORDER);
    foreach ($result as $row) {
        echo "<p><b>$row[1]</b> $row[2]</p>\n";
    }
?>

问题是我没有试图刮掉标签而是模式。

1 个答案:

答案 0 :(得分:1)

你应该善于:

preg_match_all('#(?:(?<=\bhref="/like_box\.php\?id=)|' .
                '(?<=\bsrc="https://graph\.facebook\.com/))\d+#i',
                $page, $result, PREG_PATTERN_ORDER);

请参阅this demo