我有兴趣看到一个很好的差异算法,可能在Javascript中,用于渲染两个HTML页面的并排差异.我们的想法是diff会显示渲染 HTML 的差异.
为了澄清,我希望能够将并排差异视为渲染输出.因此,如果我删除一个段落,并排视图将知道正确的空格.
@Josh完全正确.虽然它可能会显示删除的文本为红色或其他东西.我的想法是,如果我为我的HTML内容使用WYSIWYG编辑器,我不希望必须切换到HTML来做差异.我希望与两个WYSIWYG编辑并排.或者至少在最终用户友好的事情中并排显示差异.
我将要完成的内容的描述:
扩大最后一点:
想象一下,同一网站的两个页面都共享一个侧边栏,这可能是一个已被复制/粘贴的共同祖先.每个页面都对侧边栏进行了一些小的更改.差异将揭示这些变化,然后我可以"向上"DOM以找到它们共享的第一个公共块元素,或者只是默认为<body>.在这种情况下,我想把它抬起来发现,哦,他们有一个共同点<div id="sidebar">.
我熟悉DaisyDiff,应用程序类似 - 在CMS世界中.
我也开始玩google diff-patch库了.
我想问一下这种非特定的问题,希望能够征求任何人认为可能有用的建议或指导.目前,如果你把枪放在我的头上并说"CODE IT"我会用Python重写DaisyDiff并加入这个块级逻辑.但我想也许有更好的方法,任何人的答案都有渲染HTML的差异算法?让我感到温暖和模糊.
我想使用python来区分两个html文件:
例如:
html_1 = """
<p>i love it</p>
"""
html_2 = """ 
<h2>i love it </p>
"""
diff文件会是这样的:
diff_html = """
<del><p>i love it</p></dev><ins><h2>i love it</h2></ins>
"""
有没有这样的python lib帮我这么做?
我需要使用python突出显示两个简单字符串之间的差异,将不同的子字符串包含在HTML span属性中.所以我正在寻找一种简单的方法来实现以下示例所示的功能:
hightlight_diff('Hello world','HeXXo world','red')
...它应该返回字符串:
'He<span style="color:red">XX</span>o world'
我用google搜索并看到了difflib,但它应该已经过时了,我还没有找到任何好的简单演示.