我将要完成的任务的描述:
- 输入 2(N 不是必需的)HTML 文档。
- 标准化 HTML 格式
- 区分这两个文档——外部样式并不重要,但文档内联的任何内容都将包括在内。
- 在 HTML 块元素级别确定 delta。
扩展最后一点:
想象一下同一站点的两个页面,它们都与可能是已复制/粘贴的共同祖先共享一个侧边栏。每个页面的侧边栏都有一些小的变化。diff 将显示这些更改,然后我可以“走”DOM 以找到它们共享的第一个公共块元素,或者只是默认为<body>
. 在这种情况下,我想走过去发现,哦,他们有一个共同点<div id="sidebar">
。
我对 DaisyDiff 很熟悉,而且应用程序也很相似——在 CMS 世界中。
我也开始使用 google diff-patch 库。
我想提出这种非特定的问题,希望能征求任何人认为可能有帮助的建议或指导。目前,如果您用枪指着我说“编写代码”,我会用 Python 重写 DaisyDiff 并添加这个块级逻辑。但我想也许有更好的方法和答案任何人都有渲染 HTML 的差异算法?让我感到温暖和模糊。