0

タスク - ID を使用して DIV タグ内のコンテンツをスクレイピングし、XHTML を返します。「PHP Simple HTML DOM Parser」を使用しています

単純化されたコードの例:

<html><head></head>
<body>
<h1>Head</h1>
<div class="page">
<div id="content">
<h2>Section head</h2>
<p>Text</p>
</div>
<div id="footer">Footer text</div>
</div>
</body>
</html>

私はコンテンツをOKにすることができます:

$content = $html->find('#content');

$content は、配列の simpleDOM オブジェクトになりました (修正されました)。

それをXHTMLに戻すにはどうすればよいので、次のようにします。

<div id="content">
<h2>Section head</h2>
<p>Text</p>
</div>

ありがとう

4

2 に答える 2

0

これはうまくいきました:

// Sample HTML string
$html_str = '<html><head></head><body><h1>Head</h1><div class="page"><div id="content"><h2>Section head</h2><p>Text</p></div><div id="footer">Footer text</div></div></body></html>';

// Create new DOM object
$dom = new DOMDocument();

// $html_str is HTML (can load from URL, if your host allows)
$dom->loadHTML($html_str);

// Get DIV id="content"
$element = $dom->getElementById('content');

// use save XML as input is XHTML.
echo $dom->saveXML($element);

// cleanup to prevent memory leak
$dom->clear(); 
unset($dom);

別のテンプレートで使用する場合は、文字を正しく表示するために正しい文字セットを追加する必要があります

于 2013-06-09T15:39:58.853 に答える
0

やってみました:

// Dumps the internal DOM tree back into string 
$str = $content->save();

参照: http://simplehtmldom.sourceforge.net/manual.htm

于 2013-06-07T17:35:47.023 に答える