简单 html dom - 在查找中查找
simple html dom - find within a find
我在 simple_html_dom 方面需要一些帮助。
我正在尝试解析包含许多 table 行的数据 table。在一些 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 标签中的内容?
您需要使用链接。
$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);
然后你只需遍历数组即可。
foreach($cell_three as $sub_cell){
$sub_cell_one = $sub_cell->find('td', 1)->plaintext;
$sub_cell_two = $sub_cell->find('td', 2)->plaintext;
}
我在 simple_html_dom 方面需要一些帮助。
我正在尝试解析包含许多 table 行的数据 table。在一些 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 标签中的内容?
您需要使用链接。
$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);
然后你只需遍历数组即可。
foreach($cell_three as $sub_cell){
$sub_cell_one = $sub_cell->find('td', 1)->plaintext;
$sub_cell_two = $sub_cell->find('td', 2)->plaintext;
}