<?php

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

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

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

function makeYodaStyleText($text) {
	$pregexp = "/[!.;?]/";
	$pregexp1 = "/[\s,]/";
	$result = '';
    $sentence = preg_split($pregexp, $text, 0, PREG_SPLIT_NO_EMPTY);
    
    foreach($sentence as $sent){
    	$words = preg_split($pregexp1, $sent, 0, PREG_SPLIT_NO_EMPTY);
    	$words[0] = mb_strtolower($words[0]);
    	$words = array_reverse($words);
    	$words[0] = makeFirstletterUppercase($words[0]);
    	$result .= implode(' ',$words) . ". ";
    }
	return($result);
    /* Сделай сам */
}

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