【发布时间】:2023-06-02 11:18:01
【问题描述】:
我正在为自己的模板系统使用简单的 HTML DOM 解析器,但发现了一个问题。
这是我的标记:
<div class=content>
<div class=navigation></div>
</div>
我将 div.navigation 替换为自己的内容,例如:
$navi= $dom->find("div.navigation",0);
$navi->outertext = "<a class=aNavi>click me!</a>";
效果很好 - 我可以回显它,但问题是 - 在回显之前,我仍然想使用解析器访问/操作该链接,但解析器找不到它。
$link = $dom->find("a.aNavi");
将返回 null :(
似乎在更改外部文本后需要刷新/更新解析器 - 如果可能的话有什么想法吗?
【问题讨论】:
-
因为您的
a.aNavi不在 DOM 中。它只是单独对象(或实例)的一些元素。 -
但它在源代码中......我该如何解决它?
-
$dom到底是什么?它似乎不是DOMDocument,因为该类没有find()方法或outertext属性。 -
@drrcknlsn:我认为 OP 使用的是 simplehtmldom.sourceforge.net 而不是 DOMDocument
标签: php simple-html-dom domparser