无法解析为<code>标签 - PHP - 简单的 html dom



我正在尝试使用 PHP Simple HTML DOM 解析器提取嵌套在<code>标签中的<div>的内容,但我总是收到错误Trying to get property of non-object in...好像解析器在我的<div>中找不到任何东西

我使用的代码是

include_once('simplehtmldom_1_5/simple_html_dom.php');
// Create a DOM object
$html = new simple_html_dom();
// Load HTML
$html->load('<code><div>hello</div></code>');
// Extract div content
echo $html->find('div',0)->innertext;

但是,如果我不使用<code><div>hello</div></code>作为我的示例代码,而是使用<span><div>hello</div></span>它就可以工作了......似乎我只看code标签内部就遇到了问题。

我正在做的事情有什么问题? 希望你们能为我指出正确的方向,非常感谢您的支持!

simplehtmldom等会去除预先格式化的标签。 如果要识别代码标记,请删除或注释掉 *simple_html_dom.php* 中的第 1076 行

根据Simple HTML DOM的源代码,当它将HTML加载到解析器中时,它会自动删除代码标记。

如果你需要这个功能,你需要在simplehtmldom.php的load()函数中删除对remove_noise()的引用。

这应该会产生您期望的结果,但显然很可能会引入其他问题,具体取决于作者首先删除标签的原因。

最新更新