<?php
 
error_reporting(-1);
mb_internal_encoding('utf-8');
 
//$text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!";
// Другие варианты для тестов
// $text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
$text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";
 
/* Делает первую букву предложения заглавной */
function makeFirstletterUppercase($text) {
    foreach($text as $key => $value) {
    $value = mb_strtoupper(mb_substr($value, 0, 1))
    .mb_substr($value, 1);
    $text[$key] = $value;
    }
    return $text;
} 
function makeYodaStyleText($text) {
    $splitText = preg_split('/[.!?;]\\s*/', $text, 0, PREG_SPLIT_NO_EMPTY);
    $reverse = [];
    foreach ($splitText as $key => $value){
        $value = mb_strtolower($value);
        $value = preg_split('/[,?!;]?\\s/', $value, 0, PREG_SPLIT_NO_EMPTY);
        $splitText[$key] = implode(' ', array_reverse($value)).'. ';
    }
    return implode('', makeFirstletterUppercase($splitText));
}
function reverseText($text) {
    $text = preg_split('/[,?!;]?\\s/', $text, 0, PREG_SPLIT_NO_EMPTY); 
    return array_reverse($text);
}
echo(makeYodaStyleText($text));