php中的智能差异

时间:2013-01-15 12:55:08

标签: php algorithm comparison diff configuration-files

我在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

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

1 个答案:

答案 0 :(得分:1)

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

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