如何在使用XPath进行解析时获取表格单元格值,并且单元格包含的值如< 19.00 OR> 23.99

时间:2017-11-14 06:06:06

标签: html xpath domparser

实际上我需要解析一个HTML表格,该表格包含HTML字符,你可以在图片中看到。

我还需要具有该特殊字符的每个单元格数据。现在,当我使用XPath解析表时,它忽略该单元格并将该单元格值返回为空。

此处附有两张图片。Main Table Parsed DOM Object

$table_head = $summary_nodes->childNodes->item(0);
$table_body = $summary_nodes->childNodes->item(1);
$head = [];
$body = [];
// print_r($table_head);
foreach($table_head->childNodes as $h_index => $h_node){
    $head_temp = [];
    foreach($h_node->childNodes as $cell_index => $cell){
        $head_temp[] = trim($cell->nodeValue);
    }
    $head[] = $head_temp;
}
foreach($table_body->childNodes as $b_index => $b_node){
    $body_temp = [];
    // print_r($b_node);
    foreach($b_node->childNodes as $cell_index => $cell){
        print_r($cell);
        $body_temp[] = trim($cell->nodeValue);
    }
    $body[] = $body_temp;
}
return ['table_ready'=>array_merge([$head[count($head)-1]], $body), 'headers'=> $head];

1 个答案:

答案 0 :(得分:0)

朋友们,我得到了答案,实际上我们正在发生的事情是在实际数据中添加HTML实体,这就是为什么在传递它与HTML内容冲突的同时解析解析器会自动删除HTML实体因此,如果我们使用或者如果我们需要任何与HTML实体类似的实体,我们必须确保我们的真实数据没有任何HTML实体,请尝试使用它们是HTML实体代码。