如何显示原始文本和编辑文本之间的差异


How to show difference between original text and edited text?

我必须显示两个句子或段落之间的差异。它可以是任何东西。

与此网站中的原始问题和编辑后的问题相同。

例如我爱苹果原句。编辑后的句子是我不爱香蕉,我需要的是:不要香蕉

我如何在PHP中做到这一点?

您所问的问题被称为最长公共子序列问题,这是一种动态算法,通常是diff实用程序等比较实用程序的基础(例如,也像您在svn或git中看到的那些)。

幸运的是,PHP有一个巨大的PECL存储库,该存储库具有xdiff扩展,并且已经可以使用这些函数,例如xdiff_string_diff

这里是不错的Lib,你可以使用它

finediff.phphttp://www.raymondhill.net/finediff/finediff-code.php

您的文件.php

include 'finediff.php';
$opcodes = FineDiff::getDiffOpcodes($original, $edited);