因为我想了解Simple HTML Dom,我正在玩它,在我的localhost上测试选项。
基本上我想拿这个网站的标题和介绍并在我的页面上显示。
标题为<h2>
,简介为<p>
。
我做错了什么?
<?php
include 'simple_html_dom.php';
// Create DOM from URL
$html = file_get_html('http://www.nu.nl/algemeen');
foreach($html->find('div[class=list-overlay]') as $article){
$title['intro'] = $article->find('span[class=title]', 0)->innertext;
$intro['details'] = $article->find('span[class=excerpt]', 0)->innertext;
echo '<h2>'. $articles . '</h2>
<p>'. $title .'</p>';
}
?>
编辑:那里有一条双线。
答案 0 :(得分:0)
你的洗礼是不对的。变量名中只有很少的拼写错误。这是我对您的代码的修改。另外,我添加了一些评论来帮助您理解。
<?php
include 'simple_html_dom.php';
// Create DOM from URL
$html = file_get_html('http://www.nu.nl/algemeen');
// exctract all elements matching selector div[class=...]
foreach($html->find('div[class=list-overlay]') as $article){
// and for each extract first (0) element that matches to span[class=title]
$title = $article->find('span[class=title]', 0)->innertext;
// and do the same for intro, extract first element that belongs to selector
$intro = $article->find('span[class=excerpt]', 0)->innertext;
// and write it down simply
echo '<h2>'. $title . '</h2>';
echo '<p>' . $intro . '</p>';
}
?>
这个解决方案并不好。它们的HTML结构很糟糕,因此不容易只选择文章,因为它们没有ID文章中的div(例如。无论如何,你是幸运的,因为它们为你提供文章的XML提要这更容易解析(也可以减少传输的数据等)。您可以find it here为您的网站提取标题和介绍。