diff options
author | vincent-peugnet <v.peugnet@free.fr> | 2019-01-02 19:50:28 +0100 |
---|---|---|
committer | vincent-peugnet <v.peugnet@free.fr> | 2019-01-02 19:50:28 +0100 |
commit | afeeafc2a691b661ba2c92250f883fda6bd33392 (patch) | |
tree | 6f596f3cf31c1f62e0463ceff4e17e3541762da5 /app/fn | |
parent | d5a2af69c6d62475c26dc7e9812f9a977e9dfa12 (diff) | |
download | wcms-afeeafc2a691b661ba2c92250f883fda6bd33392.tar.gz wcms-afeeafc2a691b661ba2c92250f883fda6bd33392.zip |
render path check
Diffstat (limited to 'app/fn')
-rw-r--r-- | app/fn/fn.php | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/app/fn/fn.php b/app/fn/fn.php index 99e1bc0..dfee01d 100644 --- a/app/fn/fn.php +++ b/app/fn/fn.php @@ -133,5 +133,50 @@ function changekey($array, $oldkey, $newkey) +function compare($stringa, $stringb) +{ + $arraya = explode(PHP_EOL, $stringa); + $arrayb = explode(PHP_EOL, $stringb); + + $lnb = -1; + $commonlines = []; + foreach ($arraya as $na => $linea) { + $found = false; + foreach ($arrayb as $nb => $lineb) { + if($linea === $lineb && $nb > $lnb && !$found && !empty($linea)) { + $commonlines[$na] = $nb; + $merge[] = $arrayb[$nb]; + $lnb = $nb; + $found = true; + } + } + } + + + $merge = []; + $lnb = 0; + foreach ($arraya as $na => $linea) { + if(array_key_exists($na, $commonlines)) { + for ($j=$lnb; $j <= $commonlines[$na]; $j++) { + $merge[] = $arrayb[$j]; + } + $lnb = $j; + } else { + $merge[] = $arraya[$na]; + } + } + for ($k=$lnb; ; $k++) { + if(array_key_exists($k, $arrayb)) { + $merge[] = $arrayb[$k]; + } else { + break; + } + } + + return implode(PHP_EOL, $merge); +} + + + ?>
\ No newline at end of file |