1

次のHTMLがあるとしましょう。

<div class="some-class">
     <p> some paragraph</p>
     <h2>a heading</h2>
</div>

<div class='some-class'>HTMLを含め、すべてを取得したいと思います。以下はテキストのみを取得します。

$descriptions = $xpath->query("//div[contains(@class, 'some-class')]");
foreach($descriptions as $description)
       print $description->textContent;

含まれているHTMLタグも取得するための最良の方法は何ですか?

4

2 に答える 2

1

この関数を使用する-組み込み関数は見つかりませんでしたが、これはうまく機能します:

function getInnerHTML($node)
{
    $innerHTML = "";
    $children = $node->childNodes; 
    foreach ($children as $child) { 
        $tmp_doc = new DOMDocument(); 
        $tmp_doc->appendChild($tmp_doc->importNode($child,true));        
        $innerHTML .= $tmp_doc->saveHTML(); 
    } 
    return $innerHTML;
}
于 2012-12-18T20:02:37.190 に答える
0

取得しようとしていると思いますouterXml-DOMDocument ::saveXMLをご覧ください。または、私はあなたを誤解しました<div>か?要素とその属性軸のxmlシリアル化が必要ですか?

編集私はあなたが欲しいという意味ですか:

<div class="some-class">
     <p> some paragraph</p>
     <h2>a heading</h2>
</div>

あるいは単に

<div class="some-class" />

于 2012-12-18T19:11:27.960 に答える