diff options
Diffstat (limited to 'vendor/jfcherng/php-diff/example/demo_base.php')
-rw-r--r-- | vendor/jfcherng/php-diff/example/demo_base.php | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/vendor/jfcherng/php-diff/example/demo_base.php b/vendor/jfcherng/php-diff/example/demo_base.php new file mode 100644 index 0000000..3873df9 --- /dev/null +++ b/vendor/jfcherng/php-diff/example/demo_base.php @@ -0,0 +1,78 @@ +<?php + +include __DIR__ . '/../vendor/autoload.php'; + +use Jfcherng\Diff\Differ; +use Jfcherng\Diff\Renderer\RendererConstant; + +// the two sample files for comparison +$oldFile = __DIR__ . '/old_file.txt'; +$newFile = __DIR__ . '/new_file.txt'; +$oldString = \file_get_contents($oldFile); +$newString = \file_get_contents($newFile); + +// options for Diff class +$diffOptions = [ + // show how many neighbor lines + // Differ::CONTEXT_ALL can be used to show the whole file + 'context' => 1, + // ignore case difference + 'ignoreCase' => false, + // ignore line ending difference + 'ignoreLineEnding' => false, + // ignore whitespace difference + 'ignoreWhitespace' => false, + // if the input sequence is too long, it will just gives up (especially for char-level diff) + 'lengthLimit' => 2000, +]; + +// options for renderer class +$rendererOptions = [ + // how detailed the rendered HTML is? (none, line, word, char) + 'detailLevel' => 'line', + // renderer language: eng, cht, chs, jpn, ... + // or an array which has the same keys with a language file + // check the "Custom Language" section in the readme for more advanced usage + 'language' => 'eng', + // show line numbers in HTML renderers + 'lineNumbers' => true, + // show a separator between different diff hunks in HTML renderers + 'separateBlock' => true, + // show the (table) header + 'showHeader' => true, + // convert spaces/tabs into HTML codes like `<span class="ch sp"> </span>` + // and the frontend is responsible for rendering them with CSS. + // when using this, "spacesToNbsp" should be false and "tabSize" is not respected. + 'spaceToHtmlTag' => false, + // the frontend HTML could use CSS "white-space: pre;" to visualize consecutive whitespaces + // but if you want to visualize them in the backend with " ", you can set this to true + 'spacesToNbsp' => false, + // HTML renderer tab width (negative = do not convert into spaces) + 'tabSize' => 4, + // this option is currently only for the Combined renderer. + // it determines whether a replace-type block should be merged or not + // depending on the content changed ratio, which values between 0 and 1. + 'mergeThreshold' => 0.8, + // this option is currently only for the Unified and the Context renderers. + // RendererConstant::CLI_COLOR_AUTO = colorize the output if possible (default) + // RendererConstant::CLI_COLOR_ENABLE = force to colorize the output + // RendererConstant::CLI_COLOR_DISABLE = force not to colorize the output + 'cliColorization' => RendererConstant::CLI_COLOR_AUTO, + // this option is currently only for the Json renderer. + // internally, ops (tags) are all int type but this is not good for human reading. + // set this to "true" to convert them into string form before outputting. + 'outputTagAsString' => false, + // this option is currently only for the Json renderer. + // it controls how the output JSON is formatted. + // see available options on https://www.php.net/manual/en/function.json-encode.php + 'jsonEncodeFlags' => \JSON_UNESCAPED_SLASHES | \JSON_UNESCAPED_UNICODE, + // this option is currently effective when the "detailLevel" is "word" + // characters listed in this array can be used to make diff segments into a whole + // for example, making "<del>good</del>-<del>looking</del>" into "<del>good-looking</del>" + // this should bring better readability but set this to empty array if you do not want it + 'wordGlues' => [' ', '-'], + // change this value to a string as the returned diff if the two input strings are identical + 'resultForIdenticals' => null, + // extra HTML classes added to the DOM of the diff container + 'wrapperClasses' => ['diff-wrapper'], +]; |