[英]php domdocument or domxpath: how to extract TRs and save html
我整天都在為此苦苦掙扎。
我有一個字符串中的 html 表。
<TABLE>
<TBODY>
<TR CLASS=dna1>
<TD></TD><TD></TD><TD></TD><TD></TD>
</TR>
<TR CLASS=dna2>
<TD></TD><TD></TD><TD></TD><TD></TD>
</TR>
repeat...
<TD>
內部是一些我需要使用的<DIV
> 和<SPAN>
。
我需要提取每個<TR>
(兩個類)並將html保存在一個數組中,其中每個<TR>
都是一個數組元素。
創建節點列表數組很容易,但我如何獲得實際的 html?
如果必須將 HTML 保存為字符串,則有DOMDocument::saveHTML
$elems = $xpath->query('//tr');
foreach ($elems as $elem) {
$array[] = $doc->saveHTML($elem);
}
(請注意, saveHTML
的參數自 PHP 5.3.6 起可用。)
不過,我建議保存節點本身,並僅在您 output 它們之前不久將它們轉換為字符串。
或者僅使用DOMDocument
:
$dom = new DOMDocument();
@$dom->loadHTML($html);
if($table=$dom->getElementsByTagName('table')->item(0)){
//traverse the table and output every rows
$rows=array();
foreach ($table->childNodes as $row){
$rows[]=$dom->saveHTML($row);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.