2011-06-19 21 views

Respuesta

18

lo tanto el tiempo que puede afectar a la DOM, se podía quitar ese span.

$span = $div->getElementsByTagName('span')->item(0); 
$div->removeChild($span); 

$nodeValue = $div->nodeValue; 

Como alternativa, sólo acceder al nodo de texto de $div.

foreach($div->childNodes as $node) { 

    if ($node->nodeType != XML_TEXT_NODE) { 
     continue; 
    } 
    $nodeValue = $node; 
} 

Si usted termina con más nodos de texto y sólo desea que la primera, puede break después de la primera asignación de $nodeValue.

26

Puede acceder directamente a través de DOMText nodo XPath:

$xpath = new DOMXPath($dom_document); 
$node = $xpath->query('//div/text()')->item(0); 
echo $node->textContent; // text 
Cuestiones relacionadas