<?php

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

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

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

function makeYodaStyleText($text) {
	$result = '';
    $phrase = preg_split("/[.!?;]/u" , $text, 0, PREG_SPLIT_NO_EMPTY);
    foreach ($phrase as $sent) {
		$reverseSent = implode(" ", array_reverse(preg_split("/[ ]/u" , $sent, 0, PREG_SPLIT_NO_EMPTY)));
		$newSent = makeFirstletterUppercase($reverseSent);
		$newSent = preg_replace("/,/u", '', $newSent);
		$result .= $newSent . ". ";
	}
    return $result;
}

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

