加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 16:48:10 所属栏目:PHP教程 来源:网络整理
导读:这是我的一些代码…… $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>

这样做:

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

然后你可以再次回声它或什么的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读