我希望下面的代碼能夠迴應在配備的元素中找到的字符串。
這不可行嗎?從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