在PHP中解析HTML页面

3
今天我使用Simple HTML DOM解析器解析一个页面时,没有得到任何结果。所以我认为这很奇怪。于是我去查看那里编写的HTML代码。我发现有很多错误。
因此,问题来了。当解析器工作正常,但HTML混乱时该怎么办?也许有人会建议一些方法或其他解析器,能够处理这种情况。
感谢大家的帮助。

可能是重复的问题:如何解析部分HTML? - Pekka
1
可能是解析HTML的最佳方法的重复问题。 - Gordon
这也在很大程度上取决于你为什么要解析这个HTML以及你是否控制源代码 - 答案可能是tidy、simpledom,甚至在某些情况下正则表达式可能是正确的工具。 - Adam Kiss
@dogmatic 我所链接的答案特别针对解析 HTML(这意味着因为 HTML 的设计问题而导致错误)。OP 寻求替代方案。DOM 可以很好地解析不完整的 HTML。而 SimpleHTMLDom 是最糟糕的 HTML 解析器解决方案。因此,我回答中给出的选项应该可以解决 OP 的问题,因此它是一个重复的答案。 - Gordon
@Gordon,您对Zend_Dom有什么看法?我听说它使用本机PHP功能,只是更加方便。还有一个关于DOM的问题。如果有一些没有关闭标签的开放标签,SimpleHTMLDom解析器就无法找到正确的部分。例如:<div><a href="..."></div></a>或者没有</a>或</div>换句话说是损坏的。DOM如何处理这个问题? - Eugene
显示剩余7条评论
2个回答

2

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接