这是我的一些代码...
$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上读到不同变量的不同变量吗?如果那是有道理的。
答案 0 :(得分:3)
好的,所以你的解决方案。
对于DIV:
<div id="divID" name="notWorking">This is not working!</div>
这样做:
<?php
$dom = new DOMDocument("1.0", "utf-8");
$dom->loadHTMLFile('YourFile.html');
$div = $dom->getElementById('divID');
echo $div->textContent;
$div->setAttribute("name", "yesItWorks");
?>
只要你传递一个制作良好的XML或XHTML内容,就可以在没有文件的情况下工作,改变
$dom->loadHTMLFile('YourFile.html');
到你的
$dom->loadHTML($html);
哦,是的,当然,要更改内容(完整性):
$div->removeChild($div->firstChild);
$newText = new DOMText('Yes this works!');
$div->appendChild($newText);
然后你可以再次回声它或者什么。