topvisor / horde-text-diff
文本差异生成和渲染库
v3.0.5
2024-03-30 13:40 UTC
Requires
- php: ^8.2
README
一个基于文本的差异引擎和多种差异输出格式的渲染器
基于项目https://github.com/horde/Text_Diff的alpha分支,没有生产版本,已经准备好使用,并支持InlineRenderer。
为什么是当前版本的lib?
- 2024-01-01上最相关的
- 支持php 8.3
- PSR-4
- 修复了一些bug
为什么选择Horde的Text diff?
这是PHP中最好的文本差异库。它既明智又经验丰富。
相对于类似产品的优势
- 每行内部的按单词差异
- 每行内部的按符号差异
- 调整输出格式
- PHP中的最佳速度
- PHP中的最佳内存优化
优化
对于非常长的字符串,有一个技巧:在使用差异之前将长字符串分割
示例
use Topvisor\Horde\Text\Diff; $diff = Diff\Diff::fromFileLineArrays($linesA, $linesB); // calc diff as word $renderer = new Diff\InlineRenderer(); $res = $renderer->render($diff); var_dump($res); // calc diff as symbol $renderer = new Topvisor\Horde\Text\Diff\InlineRenderer(['split_characters' => true]); $res2 = $renderer->render($diff); var_dump($res2);