以PHP解析无效HTML的最佳方法
我会尝试这样的事:http://php.net/manual/en/domdocument.loadhtml.php
在这个页面:
的函数解析包含在源字符串的HTML。与加载XML不同,HTML格式不一定要格式正确才能加载。这个函数也可以静态调用来加载和创建一个DOMDocument对象。
它似乎loadHTML对象为两个或多个元素上的ID相同的值(尽管这可能是来自libxml) – HorusKol 2015-01-06 04:22:53
SimpleHTMLDOM已知比PHP的原生DOM功能更宽松。
建议的[SimpleHtmlDom](http://simplehtmldom.sourceforge.net/)的第三方替代品实际上使用[DOM](http://php.net/manual/en /book.dom.php)而不是字符串分析:[phpQuery](http://code.google.com/p/phpquery/),[Zend_Dom](http://framework.zend.com/manual/en/ zend.dom.html),[QueryPath](http://querypath.org/)和[FluentDom](http://www.fluentdom.org)。 – Gordon 2010-08-31 07:24:54
@戈登这次你太快了:)他正在寻找解析破碎的HTML。 – 2010-08-31 07:25:25
当使用[libxml的HTML解析器模块](http://xmlsoft.org/html/libxml-HTMLparser.html)时,所有基于DOM的解析器都应该能够处理得很好。 – Gordon 2010-08-31 07:26:53
在您没有Tidy的情况下,您应该安装它。或者你可以不使用破碎的HTML首先。 – 2010-08-31 07:17:45
你是认真的吗?至少有几次我无法做到这一点最好的做法:来自客户端的无效HTML代码需要解析,共享主机没有选择安装Tidy .. – danidacar 2010-08-31 07:20:02
@daniphp:死的严重。 – 2010-08-31 07:20:51