18

手つかずのコンテンツで特定の div を抽出したいドキュメントがあります。そうです:

$dom = new DOMDocument();
$dom->loadHTML($string);//that's HTML of my document, string

および xpath クエリ:

$xpath = new DOMXPath($dom);
$xpath_resultset =  $xpath->query("//div[@class='text']");
/*I'm after div class="text"*/

今、私はitem(0)得たものに対してメソッドを実行します$xpath_resultset

$my_content = $xpath_resultset->item(0);

私が得たのはオブジェクト (文字列ではない) $my_content で、文字列にエコーまたは settype() できますが、結果としてマークアップが完全に削除されていますか?

ここで div class='text' からすべてを取得するにはどうすればよいですか?

4

1 に答える 1

52

ノードをDOMDocument::saveHTMLメソッドに渡すだけです。

$htmlString = $dom->saveHTML($xpath_resultset->item(0));

これにより、その特定の DOMNode とそのすべての子の文字列表現が得られます。

于 2013-06-09T17:52:34.743 に答える