$string = 'кораблик плавал плавал и утонул';
$wordArray = explode(' ', $string);
$wordsCount = count($wordArray);
$result = $dupArray = [];
for ($i = 0; $i <= $wordsCount; $i++) {
for ($j = 0; $j < $i; $j++) {
$pos = $wordsCount - $i + 1; // length для slice в php относительно offset, а не начала массива
$stroke = implode(' ', array_slice($wordArray, $j, $pos));
if (!isset($dupArray[$stroke])) {
$dupArray[$stroke] = array_push($result, $stroke);
}
}
}
echo implode("\n", $result);
echo hash_hmac('sha256', '1680024001;80024001;30;5.00', hex2bin('AF63D092A79416EC6CA99891EB8CF4E6AFEF5DCE9D6308CBA6A186D03A4B70F3'), false);