Используя chrisboulton / php-diff, чтобы показать два файла с выделенными различиями в стиле github, НО показывает только несколько строк до первого различия - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь использовать chrisboulton / php-diff для отображения двух файлов, сравниваемых рядом, с выделением различий между ними, в стиле github, я имею в виду как в этомизображение . Так что я нашел эту библиотеку / код на github, который, казалось, отлично справлялся со своей работой.

Но есть одна проблема. Мне нужно, чтобы полные файлы отображались бок о бок, но он начинает отображать только несколько строк перед первой строкой, имеющей разницу (то есть некоторое сложение или вычитание). Мой вопрос заключается в том, что мне нужно сделать, чтобы он отображал сверху вниз полное содержимое обоих сравниваемых файлов.

Ниже приводится мой SSCCEчтобы продемонстрировать проблему.

Пример кода взят из здесь :

<!DOCTYPE html>
<head>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
        <link rel="stylesheet" href="styles.css" type="text/css" charset="utf-8"/>
</head>

<body>
<?php 

require_once("../lib/Diff.php");
require_once("../lib/Diff/Renderer/Html/SideBySide.php");


$xExploded = explode("\n", file_get_contents("x.html"));
$yExploded = explode("\n", file_get_contents("y.html"));

$optionsArray = array(
    //'ignoreWhitespace' => true,
    //'ignoreCase' => true,
);

$diff = new Diff($xExploded, $yExploded, $optionsArray);
$renderer = new Diff_Renderer_Html_SideBySide;
echo $diff->Render($renderer);

?>
</body>

Первый сравниваемый файл - x.html:

one
two 2
three
four
five
six
seven
eight
nine
ten 10

Второй сравниваемый файл - y.html:

one
two
three
four
five
six
seven
eight 8
nine
ten

Ниже приведен пример вывода:

enter image description here

НО после того, как я сделал вторую строку в обоих файлах идентичными , вот вывод:

enter image description here

...