如何通过循环中的php DOM解析器获取特定类的数据?

时间:2016-11-18 12:24:41

标签: php dom

我是PHP DOM解析器的新手。我可以检索任何div或所有链接等简单数据,但在我的工作中,我需要提取具有特定名称的类的数据。就我而言,我需要从此链接http://www.dawn.com/archive/2014-12-03/

中提取所有数据

任何人都可以告诉我如何在没有给出id时提取这些div的数据,我需要通过类名提取。我将非常感谢这种帮助。

以下是我的所有代码:

<?php
    include("simple_html_dom.php");
    $html=file_get_html("http://www.dawn.com/archive/2014-12-03/");

    //to show all links/refrences
    foreach($html->find('a') as $element) 
       echo $element->href . '<br>';
    ?>

但是我想显示类的数据,我正在尝试这个:

foreach($html->find("div#story__excerpt") as $element)
echo $element;

但是这个没有给出输出。

2 个答案:

答案 0 :(得分:0)

查看您尝试从中提取的网址的HTML源代码,我发现类名并不完全符合您的想法。这是源头的样子:

<div class='story__excerpt      '>

注意班级中的空格。如果支持,可以尝试使用通配符或基于正则表达式的查找。

答案 1 :(得分:0)

要按类使用.获取元素,#应该用于通过id引用元素。

foreach($html->find("div.story__excerpt") as $element) {
    echo $element;
}

以下是所有CSS Selectors

的参考