Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 简单html dom-在查找中查找_Php_Simple Html Dom - Fatal编程技术网

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

Php 简单html dom-在查找中查找,php,simple-html-dom,Php,Simple Html Dom,我需要一些关于简单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

我需要一些关于简单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_三中找到两个div标记

$cell_三个数据如下所示

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

因此,我的问题是,如何获取这两个div标记中的内容?

您需要使用链接

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

下面的代码将每个
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);

所以你需要去掉HTML,只有
65
56
?这是正确的,我正试图把这两个数字都放到它们自己的变量库中,但我尝试过类似的方法,但我无法让它工作。当我从$cell_三中删除->innertext时,它只是挂起并超时$单元格三=$data->find('td',2)->innertext;至少给我td单元内的两个div。但我需要解析那些关于链接的div tagshow$sub_1=$data->find('td',2)->find('td',1)->明文;非常感谢你$数据->查找('td',6)->查找('div',1)->明文;这就是我需要的答案!伟大的我将编辑上面的答案以反映这一点。请将其标记为已接受,以便将来帮助其他人。
foreach($cell_three as $sub_cell){
    $sub_cell_one = $sub_cell->find('td', 1)->plaintext;
    $sub_cell_two = $sub_cell->find('td', 2)->plaintext;
}