DOMDocument yoluyla düğüm olan oğul içeriğini alma

2 Cevap php

Ben html şu var:

<html ><body >Body text <div >div content</div></body></html>

How could I get content of body without nested <div>? I need to get 'Body text', but do not have a clue how to do this.

çalışan sonucu

$domhtml = DOMDocument::loadHTML($html);
print $domhtml->getElementsByTagName('body')->item(0)->nodeValue;

Ben almak istiyorum tam olarak ne değildir 'Body textdiv içeriği' olduğu

2 Cevap

I DOMXPath bu gibi sorunlar için tercih ediyor. Bu çok esnek

$domhtml = DOMDocument::loadHTML($html); 
$xpath = new DOMXPath($domhtml);
$query="/html/body/text()"; //gets all text nodes that are direct children of body

$txtnodes = $xpath->query($query);

foreach ($txtnodes as $txt) {
    echo $txt->nodeValue;
}

Gelen açıklamalara dayanarak php.net Bu sizin için çalışması gerekir:

$domhtml = DOMDocument::loadHTML($html); 
print $domhtml->getElementsByTagName('body')->firstChild->nodeValue;