1

私はこれに一日中苦労しています。

文字列に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>、私はそれを扱う必要があります。

それぞれ(両方のクラス)を抽出し、それぞれが配列要素である配列にhtml<TR>を保存する必要があります。<TR>

ノードリスト配列の作成は簡単ですが、実際のhtmlを取得するにはどうすればよいですか?

4

2 に答える 2

3

HTMLを文字列として保存する必要がある場合は、DOMDocument::saveHTMLがあります。

$elems = $xpath->query('//tr');

foreach ($elems as $elem) {
  $array[] = $doc->saveHTML($elem);
}

saveHTML(のパラメーターはPHP 5.3.6以降で使用可能であることに注意してください。)

ただし、ノード自体を保存し、出力する直前に文字列に変換することをお勧めします。

于 2012-04-07T19:53:19.333 に答える
1

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);

    }
}
于 2014-12-08T09:13:24.120 に答える