我希望下面的代码能够回应在配备的元素中找到的字符串。
这不可行吗?从DOM树中提取节点值
<?
$doc = new DOMDocument();
$doc->loadHTML('http://website.com');
$elements = $doc->getElementByID("equipped");
echo $elements->nodeValue . "\n";
?>
我希望下面的代码能够回应在配备的元素中找到的字符串。
这不可行吗?从DOM树中提取节点值
<?
$doc = new DOMDocument();
$doc->loadHTML('http://website.com');
$elements = $doc->getElementByID("equipped");
echo $elements->nodeValue . "\n";
?>
当使用DOMDocument::getElementById()
,我建议你向物业validateOnParse
设置为true,以确保文档的格式正确,并且该方法将正常工作。
如果节点的内容只是文本,您可以尝试textContent
属性。 nodeValue
属性值可能因元素类型而异。
它应该是这样的:
<?php
$doc = new DOMDocument();
$doc->validateOnParse = true;
$doc->loadHTMLFile('http://website.com');
$element = $doc->getElementById("equipped");
if (!is_null($element)) {
$content = $element->nodeValue;
if (empty($content)) {
$content = $element->textContent;
}
echo $content . "\n";
}
?>
希望它能帮助。
它是什么类型的元素? – prodigitalson
我已经尝试了几种不同的元素。divs和span主要是通过 – Shawn
不应该是'loadHTMLFile'吗? – fardjad