使用simplehtmldom从网页获取指定的URL

时间:2012-06-25 10:40:23

标签: php

我正在尝试构建简单的PHP抓取工具

为此目的

我正在使用网页的常量 http://simplehtmldom.sourceforge.net/

获取页面数据后,我得到的页面如下:

include('simplehtmldom/simple_html_dom.php');
$html = file_get_html('http://www.mypage.com');
foreach($html->find('a') as $e) 
echo $e->href . '<br>';

这完美无缺,并打印该页面上的所有链接。

我只想得到一些像

这样的网址
/view.php?view=open&id=

我有为此目的的功能

function starts_text_with($s, $prefix){
    return strpos($s, $prefix) === 0;
}

并将此功能用作

include('simplehtmldom/simple_html_dom.php');
$html = file_get_html('http://www.mypage.com');
foreach($html->find('a') as $e) {
    if (starts_text_with($e->href, "/view.php?view=open&id=")))
    echo $e->href . '<br>';
}

但没有任何回报。

我希望你明白我的需要。

i need to print only url which match that criteria.

由于

1 个答案:

答案 0 :(得分:1)

include('simplehtmldom/simple_html_dom.php');
$html = file_get_html('http://www.mypage.com');
foreach($html->find('a') as $e) {
    if (preg_match($e->href, "view.php?view=open&id="))
         echo $e->href . '<br>';
}

尝试一次。

参考preg_match