adaptive/php-text-difference

一个用于生成两个可哈希对象(字符串或数组)之间差异的综合库。通过添加命名空间和psr-4自动加载进行分支分支

v1.1.0 2021-12-04 08:17 UTC

This package is auto-updated.

Last update: 2024-09-04 14:21:48 UTC


README

简介

一个用于生成两个可哈希对象(字符串或数组)之间差异的综合库。生成的差异可以以所有标准格式显示,包括

  • 统一
  • 上下文
  • 内联HTML
  • 并列HTML

差异引擎核心(即,序列匹配器)的逻辑主要基于Python difflib包。这样做的主要原因是因为它的高度精确性。

安装

通过Composer

{
    "require": {
        "adaptive/php-text-difference": "^1.1"
    }
}

示例使用

示例目录和example.php中可以找到快速使用示例。简单使用示例

<?php
$options = array(
    //'ignoreWhitespace' => true,
    //'ignoreCase' => true,
);
$a = explode("\n", file_get_contents($some_file_path));
$b = explode("\n", file_get_contents($some_other_file_path);

$diff = new Adaptive\Diff\Diff($a, $b, $options);
$renderer = new Adaptive\Diff\Renderer\Html\SideBySide;
echo $diff->Render($renderer);
?>

许可证(BSD许可证)

版权(c)2009 Chris Boulton chris.boulton@interspire.com 版权所有。

重新分配和使用源代码和二进制形式(无论是否修改),只要满足以下条件

  • 源代码的重新分配必须保留上述版权声明、本条件列表和以下免责声明。
  • 二进制形式的重新分配必须复制上述版权声明、本条件列表和以下免责声明在随分发提供的文档和其他材料中。
  • 未经Chris Boulton或其贡献者事先书面许可,不得使用Chris Boulton的名称或其贡献者的名称来认可或推广源自本软件的产品。

本软件由版权所有者和贡献者按“原样”提供,并明确或暗示地放弃包括但不限于适销性和针对特定目的的适用性的任何明示或暗示的保证。在任何情况下,版权所有者或贡献者均不对任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润的丧失;或业务的中断)承担责任,无论此类损害是否因使用本软件引起,即使已告知此类损害的可能性。