【发布时间】:2011-02-04 21:19:50
【问题描述】:
我有一大堆包含数据表的大型 HTML 文档,我正在寻找一个脚本来处理 HTML 文件,隔离标签及其内容,然后将这些表中的所有行连接成一个大数据表。 然后循环遍历新大表的行和列。
经过一些研究,我开始尝试使用 PHP 的 DOMDocument 类来解析 HTML,但我只是想知道,这样做是不是最好的方法?
这是我到目前为止所得到的......
$dom = new DOMDocument();
$dom->preserveWhiteSpace = FALSE;
@$dom->loadHTMLFile('exrate.html');
$tables = $dom->getElementsByTagName('table');
除表格及其内容外,如何删除所有内容? 然后我实际上想删除第一个表,因为它是一个目录。然后循环遍历所有的表行并将它们构建成一个大表。
有人对如何做到这一点有任何提示吗? 我一直在 php.net 上搜索 DOMDocument 的文档,但我发现语法非常令人费解!
干杯,B
编辑:这是一个 HTML 文件示例,其中包含我想加入的数据表 http://thenetzone.co.uk/exrates/exrate.html
【问题讨论】:
-
嗯,DOMDocument 太可怕了。尝试 phpQuery 或 QueryPath 或其他 Best methods to parse HTML 之一。但我的第二个建议是使用更简单的正则表达式类之一从 html 表中提取行。
-
你能粘贴一些你的文档的html代码吗? & 代替 DOMDocument,Php 简单的 HTML DOM 解析器可以用于简单的编码和性能问题。 link
-
对不起,我应该指定,HTML 文件包含多个具有相同列和列顺序的表格,但每个表格之间由一堆文本段落分隔。我将看看 phpQuery,我很高兴我不是唯一一个发现 DOMDocument 难以组合的人,我喜欢使用 phpQuery 或 QueryPath 的想法,它们是 DOMDocument 的包装器。这里有一个 HTML 代码示例... (thenetzone.co.uk/exrates/exrate.html)
标签: php html-parsing domdocument phpquery