dom ドキュメントを使用して特定の HTML の塊を抽出しようとしています。
私のコードは次のとおりです。
$domd = new DOMDocument('1.0', 'utf-8');
$domd->loadHTML($string);
$this->hook = 'content';
if($this->hook !== '') {
$main = $domd->getElementById($this->hook);
$newstr = "";
foreach($main->childNodes as $node) {
$newstr .= $domd->saveXML($node, LIBXML_NOEMPTYTAG);
}
$domd->loadHTML($newstr);
}
//MORE PARSING USING THE DOMD OBJECT
それはうまく機能しますが、 foreach は非常に遅いので、これを行うためのよりインテリジェントな方法があるかどうか疑問に思っていました. 編集を続けられるように、HTML を $domd に再読み込みしています。心の奥底では、保存された $newstr をオブジェクトに再ロードするのではなく、フラグメントを保存するべきだと感じています。
これをよりエレガントまたは高速にすることはできますか?
ありがとう!