首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否有任何库来显示两个网页之间的差异?

是否有任何库来显示两个网页之间的差异?
EN

Stack Overflow用户
提问于 2018-05-17 05:05:40
回答 2查看 0关注 0票数 0

我正在寻找任何语言的库(最好是PHP) - 这将显示两个网页之间的区别。差异可以并排显示,全部在一个文档中,或以任何其他创造性的方式显示。

这是什么样子的例子:

我不寻找原始代码差异,像这样:http : //thinkingphp.org/img/code_coverage_html_diff_view.png。我不想显示两组HTML之间的区别。我想在呈现的所见即所得形式中显示差异。

我尝试过的每个解决方案都遭受了一个或多个以下问题:

  • 如果我改变一个元素的属性(例如[table border="1"]改为[table border="2"]),那么我会在输出中添加一个额外的表格标签(例如。[table border="1"][table border="1"][tr][td]...)。而且,一个表格标签会有一个 在它周围标记,而另一个周围会有一个ins标记,这显然会导致问题。
  • 如果我改变[html][body][b]some content here[/b][/body][/html][html][body][i]some other content here[/i][/body][/html]那么它看起来像[html][body][b][del]original[/del][i][ins]new[/ins] content here[/b][/i][/body][/html]
EN

回答 2

Stack Overflow用户

发布于 2018-05-17 13:25:32

Daisy Diff是一个用java开发的很好的差异程序,在比较HTML代码方面做得非常好。

它甚至可以选择左右来修改已经做出的更改。Daisy Diff非常强大,可以处理标签内的属性更改,它会告诉你图像是否已更改,或链接是否已被删除或更新。

它是一个开源项目,可以从谷歌下载:http : //code.google.com/p/daisydiff/

我知道这不是PHP,但它可能是你有一个体面的html差异的最佳机会。使用system或shell_exec php方法执行如下所示的行:

代码语言:javascript
复制

java -jar daisydiff.jar http://myPageOld.html    html://myPageNew.html   
--file=result.html 
--output=html 
--type=html

你的差异结果将转到result.html文件中,我建议你使用它!

票数 0
EN

Stack Overflow用户

发布于 2018-05-17 14:32:46

html代码和呈现页面之间的关系没有得到足够的定义,因此无法在一般情况下工作。你需要更具体的问题才能解决。

  • CSS更改会影响到这一点。
  • 要处理无效的html吗?
  • 对于特定的浏览器(版本)来说,它更容易解决。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档