JavaScript-如何快速的比较两个文件的差异?

JavaScript-如何快速的比较两个文件的差异?

清晨说ぺ晚安 发布于 2017-10-17 字数 298 浏览 1141 回复 5

在我们的发布系统中,编辑在后台所发的每一篇新闻,不论是增加、修改,我们都会做历史记录,现在要实现一个功能是,他们希望能够看到版本的差异,也就是编辑任意选两个时间点的历史记录,可以比较这两个历史记录的差异性在哪里?然后把这些差异高亮显示,其实这个功能有点儿类似SVN的版本比较功能。该怎么实现呢?

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

夜无邪 2017-10-25 5 楼

可以使用php的xdiff扩展,详情查看这里

瑾兮 2017-10-24 4 楼
甜柠檬 2017-10-23 3 楼

可以参考下开源wiki系统的代码。一般的wiki程序里都会有保存历史记录,比对版本差异的功能。
由于不知道您的实现语言,所以没法推荐了,可以自己去百度下。

清晨说ぺ晚安 2017-10-20 2 楼

安装个 gvim
把需要比对的文本放到两个文件中
使用命令 gvimdiff file1 file2

世界就清净了

晚风撩人 2017-10-20 1 楼

这里有一个简单的文本对比算法, 会把不同的地方用del和ins标签标注出来.
你所要做的就是将每次发布的新闻都存在数据库中. 然后做对比的时候把两个或者多个版本的新闻内容读取出来并用下面的算法进行对比即可.高亮的话给del和ins定义一个醒目的css样式即可

https://github.com/paulgb/simplediff/blob/5bfe1d2a8f967c7901ace50f04ac2d9308ed3169/simplediff.php