在PHP中,使用DomDocument getElementById无法正常工作?我究竟做错了什么



这是我的代码...

$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>

这将是:

<?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);

然后您可以再次回声或其他东西。

相关内容

  • 没有找到相关文章

最新更新