2011-06-19 93 views

回答

18

只要你能夠影響DOM,你可以刪除span

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

$nodeValue = $div->nodeValue; 

或者,只需訪問文本節點$div

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

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

如果你結束了更多的文本節點,並只希望首先,你可以break後的$nodeValue第一任務。

26

您可以直接使用XPath訪問DOMText節點:

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