簡體   English   中英

php domdocument 或 domxpath:如何提取 TR 並保存 html

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM