在 PHP DOM 中获取节点的文本
如何使用PHP DOM从此标记中提取字符串“text”?
<div><span>notthis</span>text</div>
$div->nodeValue
包括“notthis”
如何使用PHP DOM从此标记中提取字符串“text”?
<div><span>notthis</span>text</div>
$div->nodeValue
包括“notthis”
您可以使用 XPath 直接访问节点:DOMText
$xpath = new DOMXPath($dom_document);
$node = $xpath->query('//div/text()')->item(0);
echo $node->textContent; // text
只要您可以影响 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