0

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

例如输入一:

185.255.0.0/26是子网,1个子网
172.16.0.0/16是直连,Vlan 50

输入二:

185.255.0.0/26是子网,15个子网
172.16.0.0/16是直连,Vlan 5

现在我可以通过计算列文森距离矩阵来愚蠢地识别线条是否相同或相似。你能告诉我任何其他可以帮助 mi 解决突出差异的算法吗?我可能需要类似的算法,例如在颠覆中使用或在总指挥官中进行比较。你能告诉我在哪里可以看吗?

4

1 回答 1

1

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

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

于 2013-01-15T13:19:51.970 回答