XPath选择并回显整行包括和

时间:2014-10-20 12:05:19

标签: php html xpath

我正在使用Xpath解析一些表数据,并且需要回显标题行以及包含特定数据的任何行。我可以成功选择我想要的但不确定输出整个行的语法,包括html tr和th标签。

这是我的代码。我不知道如何简化所选行的详细输出。我尝试了注释掉的行,但它剥离了标签。

它类似于这个问题:XPath in PHP Removes HTML Tags但我不明白答案。

$xpath = new DOMXPath($doc);
$rows = $xpath->query('//table//tr');  // extract rows from html
echo '<table>';
$first = true; 
foreach ($rows as $row) {  // process each row of results
    if ($first) {  // echo header row           
       echo '<tr><td>'.$td->item(0)->textContent.'</td><td>'.$td->item(1)->textContent.'</td><td>'.$td->item(2)->textContent.
            '</td><td>'.$td->item(3)->textContent.'</td><td>'.$td->item(4)->textContent.'</td><td>'.$td->item(5)->textContent.
            '</td><td>'.$td->item(6)->textContent.'</td><td>'.$td->item(7)->textContent.'</td></tr>';
       $first = false;
    }
    else {
    $td = $xpath->query('td', $row); 
        $firstnm = trim(strtok($td->item(1)->textContent," "));
        $mmyyyy = substr($td->item(3)->textContent,2,7);
        if ($firstnm == $firstname && $mmyyyy == $thismth)  
               echo '<tr><td>'.$td->item(0)->textContent.'</td><td>'.$td->item(1)->textContent.'</td><td>'.$td->item(2)->textContent.
                    '</td><td>'.$td->item(3)->textContent.'</td><td>'.$td->item(4)->textContent.'</td><td>'.$td->item(5)->textContent.
                    '</td><td>'.$td->item(6)->textContent.'</td><td>'.$td->item(7)->textContent.'</td></tr>';
// THIS STRIPS THE TAGS  echo $row->nodeValue;
        }

    }
}
echo '</table>';

0 个答案:

没有答案