在PHP中,使用DomDocument getElementByID不起作用?我做错了什么?

在PHP中,使用DomDocument getElementByID不起作用?我做错了什么?,php,domdocument,getelementbyid,nodevalue,Php,Domdocument,Getelementbyid,Nodevalue,这是我的一些代码 $dom = new DomDocument; $html = $newIDs[0]; $dom->validateOnParse = true; $dom->loadHTML($html); $dom->preserveWhiteSpace = true; $tryID = $dom->getElementById('ID'); echo $tryID; 我正在尝试从一个网站获取多个特定ID,这只是显示一个,我在任何地方都看到过这种方法,包括在这里,

这是我的一些代码

$dom = new DomDocument;
$html = $newIDs[0];
$dom->validateOnParse = true;
$dom->loadHTML($html);
$dom->preserveWhiteSpace = true;
$tryID = $dom->getElementById('ID');
echo $tryID;
我正在尝试从一个网站获取多个特定ID,这只是显示一个,我在任何地方都看到过这种方法,包括在这里,但当我尝试打印一些东西时,都没有显示。我试着测试,看看它是否在读什么东西

if(!$tryID)
{
    ("Element not found");
}
但它也从未打印出来。最后,我使用了

echo $tryID->nodeValue;
还是什么都没有。。。有人知道我做错了什么吗

另外,如果我真的能做到这一点,我能在同一个$dom上读入多个不同的东西到不同的变量吗?如果这有道理的话。

好的,那么您的解决方案

对于DIV:

<div id="divID" name="notWorking">This is not working!</div>
给你

$dom->loadHTML($html);
哦,是的,当然,要更改内容(为了完整性):


然后,您可以再次对其进行回显或其他操作。

请记住,在处理对象或数组时,
print\r($element)
将为您提供有关对象/数组的可读信息。它是PHP.Life saver上最好的调试工具之一。为了适应我的实际情况,我对它做了一点修改,但这对我帮助很大。另外,我可能会为其他任何使用此。。。如果HTML文件没有“正确格式化”,它将运行,但会给出一系列警告。您可以通过切换$dom->loadHTMLFile('file.html')。。。到@$dom->loadHTMLFile('file.html');
$dom->loadHTMLFile('YourFile.html');
$dom->loadHTML($html);
$div->removeChild($div->firstChild);
$newText = new DOMText('Yes this works!');
$div->appendChild($newText);