<?php

error_reporting(-1);
mb_internal_encoding('utf-8');

//$text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!";
// Другие варианты для тестов
//$text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
 $text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";

/* Делает первую букву предложения заглавной */
function makeFirstletterUppercase($text) {
    $textLength = mb_strlen($text);
    $textFirstLetter = mb_substr($text, 0, 1);
    $textRest = mb_substr($text, 1, $textLength);
    
    return mb_strtoupper($textFirstLetter).mb_strtolower($textRest);
}

function makeYodaStyleText($text) {
    $result = '';
    $sentences = preg_split('/[,.;?!]/', $text, NULL, PREG_SPLIT_NO_EMPTY);
    foreach ($sentences as $sentence) {
        $words = preg_split('/[\\s]/', $sentence, NULL, PREG_SPLIT_NO_EMPTY);
        shuffle($words);
        $yodaSentence = implode(" ", $words);
        $yodaSentence = makeFirstletterUppercase($yodaSentence);
        $result[] = $yodaSentence;
    }
    $result = implode(". ", $result);
    return $result;
}

$yodaText = makeYodaStyleText($text);
echo "Йода говорит: {$yodaText}.";

?>