Я пытаюсь использовать 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
Ниже приведен пример вывода:
НО после того, как я сделал вторую строку в обоих файлах идентичными , вот вывод: