<?php
function matchingSubstrings($str1, $str2, $minlen=2) {
    $grupos = [];
    for($i=1; $i<strlen($str1); $i++) {
        array_push($grupos, substr($str1, $i-1, $minlen));
    }

    $palavras = [];
    $temp = '';
    $i = 0;
    $j = 0;
    
    do {
        if($k = strpos($str2, $grupos[$i], $j) !== false) {
            $j += $k;
            $temp .= $temp === '' ? $grupos[$i] : substr($grupos[$i], -1);
        } else {
            if($temp !== '') array_push($palavras, $temp); 
            $temp = '';
            $j = 0;
        }
        $i++;
    } while($i<count($grupos));
    
    return $palavras;
}


print_r(matchingSubstrings('nnnabcnnnabcnnn', 'kkkabckkkabc'));
print_r(matchingSubstrings('asdasdasdTESTEasdasdasdasd', 'lkijlikjTESTEilkjik'));
print_r(matchingSubstrings('asdFINALasdasdTESTEaTESTE2sdasdasdasdTESTENOFINAL', 'lkiTESTE2jlikjTESTEilkjTESikTESTENOFINALjhfdgkFINAL'));
print_r(matchingSubstrings('asdaTSCsdasdTESTEasdasdasdasd', 'lkijlikjTESTEilkjTSCik'));

?>
