Simple_html_dom获取标题和介绍并在我的页面上显示它们

时间:2014-11-07 18:58:33

标签: php html simple-html-dom

因为我想了解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>';
}
?>

编辑:那里有一条双线。

1 个答案:

答案 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为您的网站提取标题和介绍。