突出显示 PHP 中两个字符串之间的差异

2022-08-30 06:50:34

在PHP中突出显示两个字符串之间差异的最简单方法是什么?

我正在沿着Stack Overflow编辑历史记录页面的思路进行思考,其中新文本为绿色,已删除的文本为红色。如果有任何预先编写的函数或类可用,那将是理想的。


答案 1

只是编写了一个类来计算最小的(不是从字面上理解的)编辑次数,以将一个字符串转换为另一个字符串:

http://www.raymondhill.net/finediff/

它具有一个静态函数来呈现差异的 HTML 版本。

这是第一个版本,可能会得到改进,但它现在工作得很好,所以我把它扔在那里,以防有人需要有效地生成一个紧凑的diff,就像我需要的那样。

编辑:它现在在Github上:https://github.com/gorhill/PHP-FineDiff


答案 2

您可以使用 PHP Horde_Text_Diff包。

但是,此软件包不再可用。


推荐