Demo: http://localnote.sinaapp.com/htmldiff.html
Github: https://github.com/zhoujq/htmldiff.git
这几天工作上有个需求,需要在前端来做文档的历史比对;文档是由富文本编辑器生成,所以并不是由单纯的文字组成,还包括了大量的html标签;但是用户能看到的内容只是可视的文本,所以要求我们在做比对的时候能合理的处理html标签;
这个HITML Diff的主要算法来自于:http://www.rohland.co.za/index.php/2009/10/31/csharp-html-diff-algorithm/
有C# 和 Ruby版本的实现,但是对汉字分字都有问题;这次在做JS版本的时候,讲原有的拆分解析逻辑简单的通过zheng'z