1

我一直在尝试对 HTML 文档进行一些简单的 DOM 解析,并且对它的难度感到非常震惊。

我研究了 PHP 的 DOM 类的许多替代方案中的一些(例如简单的 xml 解析器简单的 HTML DOM)。我也发现了一个非常有效的dom2array 函数,它对于非常基本的解析非常有用,你只需要元素的原始值。

但是,这些替代方案都没有真正令人信服。

DOM 的 PHP 文档通常缺乏详细信息并且在很大程度上没有用处。很多评论实际上真的很有帮助。

我在网上找到的教程通常只涵盖非常非常基础的内容,例如编写 20 行 XML 文档或解析文档中的所有 p 标记。嗯。

是否有任何网站(或书籍)专门针对使用 PHP 的 DOM 库处理 DOM 进行了详细介绍?

4

3 回答 3

1

DOM 是一个独立于语言的接口,由 W3C 详细记录

话虽如此,如果您的目标是非常简单地解析(通常)结构化信息,那么 XML 可能一开始就不是正确的格式;XML 包括各种高级特性(命名空间、DTD、XSLT、属性和文本之间的区别、标记而不是结构化信息)。如果是这种情况,请考虑JSON,它非常容易解析生成

于 2012-07-24T23:05:44.867 回答
0

任何名称中包含“DOM”或声称支持它的东西都应该支持W3C 定义的 DOM API,并且您应该认为它们的文档对于除语言特定部分之外的所有内容都是规范的。

于 2012-07-24T23:05:35.147 回答
0

我应该将我的帖子命名为“在 PHP 中解析 HTML DOM 的最简单方法”。我知道,“最简单”不是一个很好的词。这一切都与你想要做的事情有关。我正在做的事情非常简单。我想解析独立的 HTML 文档并在不同的上下文中呈现内容。

这些是我想做的事情:

  • 解析标题和正文等基本属性
  • 更改所有文件引用(图像、链接、css、js)以指向有效位置
  • 从标签中添加/删除属性(这里处理 1995 HTML)
  • 剥离内联样式

我最终选择了Simple HTML DOM Parser

它的学习曲线非常小,并且可以轻松地对 DOM 进行读/写访问。故事结局。不过,有时它似乎确实会卡住嵌套元素。

于 2012-08-01T19:30:02.023 回答