我正在尝试构建简单的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.
由于
答案 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>';
}
尝试一次。