sokil / php-diff
0.4
2019-07-04 19:49 UTC
Requires
- php: ^5.6 || ^7.0
- sebastian/diff: >=1.4 <4.0
Requires (Dev)
- phpunit/phpunit: >=5.5
- satooshi/php-coveralls: >=0.7.1 <2.0
This package is auto-updated.
Last update: 2024-09-05 07:02:49 UTC
README
突出显示由Sebastian Bergmann diff提供的差异
安装
composer.phar require sokil/php-diff
用法
<?php use Sokil\Diff\Change; use Sokil\Diff\Renderer; $diffRenderer = new Renderer(); $actualDiff = $diffRenderer->render(new Change( implode(PHP_EOL, ['line1', 'line2', 'line3']), implode(PHP_EOL, ['line1', 'line2changed', 'line3']) ));
差异输出格式
差异标签的格式可以配置。默认情况下仅渲染两个标签: <ins>
和 <del>
。要突出显示输出,请使用预定义的格式
<?php $renderer = new Renderer([ 'format' => Renderer::FORMAT_COLOUR ]);
这将生成以下HTML
line1 <del style="background: #ffe7e7;">line2</del> <ins style="background: #ddfade;">line2changed</ins> line3
要完全自定义样式,请使用以下语法(此格式具有别名 Renderer::FORMAT_COLOUR
)
<?php $renderer = new Renderer([ 'format' => [ 'insert' => [ 'tag' => 'ins', 'attributes' => 'style="background: #ddfade;"', ], 'delete' => [ 'tag' => 'del', 'attributes' => 'style="background: #ffe7e7;"', ] ] ]); // this is same to $renderer = new Renderer([ 'format' => Renderer::FORMAT_COLOUR ]);
默认格式 Renderer::FORMAT_DEFAULT
的表示如下
<?php $renderer = new Renderer([ 'insert' => [ 'tag' => 'ins', ], 'delete' => [ 'tag' => 'del', ] ]); // this is same to $renderer = new Renderer([ 'format' => Renderer::FORMAT_DEFAULT ]);