corncodecreations/line-dumper

显示并按行比较字符串。

v1.0.0 2024-08-04 15:16 UTC

This package is auto-updated.

Last update: 2024-09-18 12:36:18 UTC


README

显示并按行比较字符串。

摘要

这个PHP类 LineDumper 提供了一个按行比较两个字符串并突出显示它们之间差异的工具。

  • 如果字符串相同,它将简单地返回 "字符串相等!"。

  • 如果它们不同,它将按行进行比较,使用ANSI转义码着色输出以指示不匹配。

详细信息

  • 命名空间和类定义:该类在 CornCodeCreations 命名空间下定义。
  • compareLines 方法
    • 输入:它接受两个字符串,$expectedString 和 $actualString,分别代表预期输出和实际输出。
    • 输出:它返回一个字符串,包含确认字符串相等或突出显示差异的按行比较。
    • 字符串分割:使用 explode("\n", $string) 将字符串分割成行数组。
    • 行号宽度:行号填充到3个字符的宽度。
    • 比较:将预期字符串的每一行与实际字符串中相应的行进行比较。
      • 如果行匹配,则输出它们并带有简单的 "ok" 状态。
      • 如果不匹配,则输出预期行(待实现)为黄色,实际行(当前)为红色。

示例

输入

$expected = "This is a line.\nAnother line.";
$actual   = "This is a line.\nAnother different line.";

$comparedLines = LineDumper::compareLines($expected, $actual);

echo($comparedLines);

输出

Line   1|   ok| This is a line.
Line   2|to-be| Another line.
Line   2|as-is| Another different line.

安装

$ composer require corncodecreations/line-dumper