<?php
error_reporting(-1);
mb_internal_encoding('utf-8');
$text3 = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!";
// Другие варианты для тестов
$text2 = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
$text1 = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";
/* Делает первую букву предложения заглавной */

function makeFirstletterUppercase($arr) {

    foreach ($arr as $key => $suggestion) {
        $suggestion = trim($suggestion);
        $suggestion = mb_strtolower($suggestion);
        $firstChar = mb_strtoupper(mb_substr($suggestion, 0, 1));
        $lastChars = mb_substr($suggestion, 1);
        $arr[$key] = $firstChar . $lastChars;
    }

    return implode(" ", $arr);
}

function makeYodaStyleText($text) {
    $suggestions = preg_split("/[.!?]/u", $text, 0, PREG_SPLIT_NO_EMPTY);

    foreach ($suggestions as $key => $suggestion) {
        $word = preg_split("/[\\s,;]/u", $suggestion, 0, PREG_SPLIT_NO_EMPTY);
        $suggestions[$key] = implode(" ", array_reverse($word)) . ".";
    }

    return makeFirstletterUppercase($suggestions);
}

$yodaText = makeYodaStyleText($text1);
echo "Йода говорит: {$yodaText}\n";
$yodaText = makeYodaStyleText($text2);
echo "Йода говорит: {$yodaText}\n";
$yodaText = makeYodaStyleText($text3);
echo "Йода говорит: {$yodaText}\n";