<?php
 
	error_reporting(-1);
	mb_internal_encoding('utf-8');
	 
	$text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!";
	
	// Другие варианты для тестов
	// $text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
	// $text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";
	
    /* 
    function makeFirstLetterUppercase($text) {
		$returnText = "";
		$pattern = array(
			"/^\w/u",
			"/\.\s*\w/u"
		);
		$returnText = preg_replace_callback(
				$pattern,
				function ($matches) {
					return mb_strtoupper($matches[0]);
				},
				$text
		);
		return  $returnText; 
    }*/
	
	function makeYodaStyleText($text) {
		//$result = '';
		//$yodaSentence = "";
		//$splitSentence = array();
		//$wordsSentence = array();
		// $pattern = "/\b[а-яА-Я-]{1,}\b/u";
		$splitSentence = preg_split("/[.!?;]/u", $text, -1, PREG_SPLIT_NO_EMPTY);
		foreach($splitSentence as $sentence){
			$wordsSentence = preg_split("/[\s,]+/u", $sentence, -1, PREG_SPLIT_NO_EMPTY);
			
			
			$wordsSentence = array_reverse($wordsSentence);
			
			$yodaSentence = implode(" ", $wordsSentence);
			
			//$yodaSentence = makeFirstLetterUppercase($yodaSentence).". ";
			$result = $result.$yodaSentence.". ";
		}var_dump($result);
		//return $result;
	}

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