我正在用 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/