Nasıl bir DOMElement görüntülerim?

3 Cevap php

Ben bir web sayfası HTML ayıklamak için readability 's kodu kullanıyorum. Nasıl bir sayfada gösterilecek mi?

$content = grabArticle($webpage);
echo $content;

ERROR => Object of class DOMElement could not be converted to string...

3 Cevap

$content = grabArticle($webpage);

$newdoc = new DOM;
$newdoc->importNode($content);

$html = $newdoc->saveHTML();

Yani grabArticle çıkarılan düğüm dayalı yeni bir tam HTML belgesi ibaret olacak. Eğer başka bir HTML sayfası içine sokulması ediyorsanız, ekler DOM firar / lider etiketleri sökmek gerekir.

Marc B cevabı doğru yolda beni, ama ben benzer bir ihtiyaç vardı ve bu ben indi kod oldu:

$newdoc = new DOMDocument;
$node = $newdoc->importNode($node, true);
$newdoc->appendChild($node);
$html = $newdoc->saveHTML();

Evet Mike cevap verdi doğrudur. Burada bulunan

düğümleri alır ve yeni bir belge oluşturur basit bir örnektir.

$newdoc = new DOMDocument;
$nodes = $oldoc->getElementsByTagName('p');
foreach($nodes as $node)
{
    $newnode = $newdoc->importNode($node, true);
    $newdoc->appendChild($newnode);
}
//print the new html
$html = $newdoc->saveHTML();