简单的html dom-在查找中查找

时间:2018-11-04 02:36:53

标签: php simple-html-dom

我需要有关simple_html_dom的帮助。

我正在尝试分析具有许多表行的数据表。在某些td单元格内,还有一些我需要分别解析的div标签。

    foreach($html->find('tr.statistics') as $data) {
    $cell_one = $data->find('td', 0)->plaintext;
    $cell_two = $data->find('td', 1)->plaintext;
    $cell_three = $data->find('td', 2)->innertext
    }

这可以正常工作,但是我还需要在$ cell_three中找到两个div标签。

$ cell_three数据如下所示

<div id="_Div_Line85">65</div><div id="_Div_Line95">56</div> 

所以我的问题是,我将如何在这两个div标签中获取内容?

2 个答案:

答案 0 :(得分:1)

您需要使用链接。

$sub_1 = $data->find('td', 2)->find('td',1)->plaintext;
$sub_2 = $data->find('td', 2)->find('td',2)->plaintext;

答案 1 :(得分:0)

以下代码会将每个div转换为一个数组,然后剥离HTML代码。

$cell_three = $data->find('td', 2)->innertext;
$cell_three = explode("</div>", $cell_three);
$cell_three = array_map(function($v){
    return trim(strip_tags($v));
}, $cell_three);

然后,您只需遍历数组即可。

foreach($cell_three as $sub_cell){
    $sub_cell_one = $sub_cell->find('td', 1)->plaintext;
    $sub_cell_two = $sub_cell->find('td', 2)->plaintext;
}