<?php
 
error_reporting(-1);
mb_internal_encoding('utf-8');
 
$text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!";
//$text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
//$text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";
 
/* Делает первую букву предложения заглавной */
function makeFirstletterUppercase($parts) {
    $letters = mb_substr($parts, 0, 1);
    $upLetters = mb_strtoupper($letters);
    $parts = mb_substr($parts, 1);
    $parts = $upLetters . $parts;
    return $parts;
}
 
/* Делает Йода-style текст */
function makeYodaStyleText($text) {
    $i = 0;
    $arr = array();
    $regexp = '/[.!?]/';
    $parts = preg_split($regexp, $text, 0, PREG_SPLIT_NO_EMPTY);
    foreach ($parts as $sentence) {
    	$words = explode(" ", $sentence);
    	$words = array_reverse($words); //сортируем массив из слов по значениям в обратном порядке
    	$newParts = implode(" ", $words); //объединяем слова в предложения
    	$newParts = mb_strtolower($newParts);
    	$newParts = trim($newParts); 
    	$newParts = str_replace(",", "", $newParts); //убираем запятые
    	$arr[] = $newParts; 
    	$arr = array_map("makeFirstLetterUppercase", $arr);
    }
    $result = implode(". ", $arr);
    $result = $result . ".";
    return $result;
}
 
$yodaText = makeYodaStyleText($text);
echo "Йода говорит: {$yodaText}\n";