php - php中的智能差异

标签 php algorithm comparison diff configuration-files

我正在用 php 编写智能差异程序。用于比较两个文件的内容是路由器在两个时间段的配置。作为输出,我需要对差异进行彩色突出显示,或者它是否在不同的位置(行)。

例如 输入一个:

185.255.0.0/26 is subnetted, 1 subnets
172.16.0.0/16 is directly connected, Vlan 50

输入二:

185.255.0.0/26 is subnetted, 15 subnets
172.16.0.0/16 is directly connected, Vlan 5

现在我可以通过计算 levensthein 距离矩阵来愚蠢地识别这些线是否相同或相似。 你能告诉我任何其他可以帮助我突出差异的算法吗?我可能需要类似的算法,比如用于颠覆或比较总指挥官。 你能告诉我在哪里可以看吗?

最佳答案

如果添加或删除实际行,这可能不是最有效的方法并且非常有限(您需要一些方法来检测它,有多种方法可以做到这一点(请参阅 Waleed Khan 评论中的链接))。

但是,如果您首先只是检查整个字符串以查看它是否不同呢?如果不同,您可以将整个字符串(源和目标)拆分为标记并比较各个标记。这样您就可以准确地告诉(并突出显示)整个字符串的哪一部分不同。

关于php - php中的智能差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14338236/

相关文章:

c# - 将数组中的值与数组中之前的所有值进行比较的有效方法

Golang 按日期和时间查找最近的文件

javascript - 测量字符串的相同性(在 Javascript 中)

php - 比较文本字符串以查看它们是否匹配(允许存在细微差异)

php - 多级菜单

php - 突然无法连接到 Amazon S3

php - 屏幕抓取JS页面

php - xPath - 你能从节点中删除逗号吗?

algorithm - 如何解决问题 "4967 - Tri graphs"ICPC Live Archive

c++ - 函数对象与函数指针