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