riki137/finediff

PHP8实现的精细粒度Diff引擎

维护者

详细信息

github.com/riki137/php-finediff

来源

安装: 66,205

依赖: 0

建议者: 0

安全性: 0

星标: 1

关注者: 0

分支: 9

1.1.2 2022-05-26 07:53 UTC

This package is auto-updated.

Last update: 2024-09-26 12:56:04 UTC


README

最初由Raymond Hill编写 (https://github.com/gorhill/PHP-FineDiff)

Build Status Latest Stable Version License

安装

composer require d4h/finediff

使用

渲染HTML

将两个字符串之间的差异渲染为HTML

$diff = new FineDiff\Diff();
echo $diff->render('string one', 'string two');

这将输出

string <ins>tw</ins>o<del>ne</del>

您可以将粒度更改为 CogPowered\FineDiff\Granularity\Word

$diff = new FineDiff\Diff(new FineDiff\Granularity\Word());
// Or via the setter method:
$diff->setGranularity(new FineDiff\Granularity\Word());

则输出

string <del>one</del><ins>two</ins>

您可以通过将其传递给Diff构造函数来完成此操作

获取操作码指令

操作码指令是告诉FineDiff如何将一个字符串转换为另一个字符串的。

$diff = new FineDiff\Diff();
echo $diff->getOpcodes('string one', 'string two');

这将输出

c7d3i3:two

使用操作码渲染文本

$renderer = new FineDiff\Render\Text();
echo $renderer->process('string one', 'c7d3i3:two');

将输出

string two

与HTML相同

$renderer = new FineDiff\Render\Html();
echo $renderer->process('string one', 'c7d3i3:two');

致谢

D4H 赞助。