jfcherng/php-diff
PHP library to generate diffs between two strings with multiple renderers: unified/context/text, JSON, and rich HTML (inline, side-by-side, combined). Includes helper CSS (or your own) and customizable differ/renderer options. Requires PHP 8.3+ and ext-iconv.
There is no new feature in this major release. The main focus is to modernize the codebase and improve type safety.
DifferOptions value object.RendererOptions value object.For migration guide, see https://github.com/jfcherng/php-diff/blob/v7/UPGRADING/UPGRADING_v7.md
Ported changes from 6.16.x:
Ported changes from 6.16.x:
Differ::getStatistics() not working when no differenceDiffer::getStatistics() not working when no differencePorted changes from 6.16.x:
fullContextIfIdentical (https://github.com/jfcherng/php-diff/pull/79)fullContextIfIdentical (#79)cze (Czech) translation (#74)Ported changes from 6.15.x:
cze (Czech) translation (#74)Ported changes from 6.15.x:
nob (Norwegian) translation (#73)nob (Norwegian) translation (#73)Ported changes from 6.15.x:
feat: add new differOption: lengthLimit
Previously this is hard-coded as 1000 in https://github.com/jfcherng/php-sequence-matcher/blob/3.2.9/src/SequenceMatcher.php#LL683C28-L683C32
feat: add new differOption: lengthLimit
Previously this is hard-coded as 1000 in https://github.com/jfcherng/php-sequence-matcher/blob/3.2.9/src/SequenceMatcher.php#LL683C28-L683C32
Ported changes from 6.14.x:
Ported changes from 6.14.x:
ignoreLineEndingignoreLineEndingPorted changes from 6.13.x:
feat: provide a way to override an existing language
Check https://github.com/jfcherng/php-diff/blob/6.10.8/README.md#override-an-existing-language
feat: provide a way to override an existing language
Check https://github.com/jfcherng/php-diff/blob/6.13.0/README.md#override-an-existing-language
Ported changes from 6.12.x:
spaceToHtmlTag (#60)tabSize on browserspaceToHtmlTag (#60)tabSize on browserPorted changes from 6.11.x:
Combined::renderArray isn't working properlyCombined::renderArray isn't working properlyPorted changes from 6.11.x:
ita (Italian) translationukr (Ukraine) translationita (Italian) translationHow can I help you explore Laravel packages today?