<?php
//$text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!";
// Другие варианты для тестов
//$text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
$text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей." ;
function makeFirstletterUppercase( $text ) {
}
function makeYodaStyleText( $text ) {
$reverceSentence = array ( ) ; $yodaSay = '' ;
/* Сделай сам */
$sentences = preg_split ( "/[.]|[!]|[?]|[;]/u" , $text , - 1 , PREG_SPLIT_NO_EMPTY
) ;
foreach ( $sentences as $sentence ) {
echo $sentence ;
$reverceSentence = implode ( " " , $reverceSentence ) ; $reverceSentence = makeFirstLetterUppercase( $reverceSentence ) ;
$yodaSay = $yodaSay . $reverceSentence . "." ;
}
$regexpPoint = '/[,.]{2}/ui' ;
$yodaSay = preg_replace ( "/([[:punct:]]+)\s*/" , '$1 ' , $yodaSay ) ; $yodaSay = preg_replace ( "/\s*([[:punct:]]+)/" , '$1 ' , $yodaSay ) ; return $yodaSay ;
}
$yodaText = makeYodaStyleText( $text ) ;
echo "Йода говорит: {$yodaText} \n " ;
PD9waHAKZXJyb3JfcmVwb3J0aW5nKC0xKTsKbWJfaW50ZXJuYWxfZW5jb2RpbmcoJ3V0Zi04Jyk7CgovLyR0ZXh0ID0gItCa0LDQttC10YLRgdGPLCDQvdCw0YEg0L7QsdC90LDRgNGD0LbQuNC70LghINCd0LDQtNC+INGB0YDQvtGH0L3QviDRg9GF0L7QtNC40YLRjCDQvtGC0YHRjtC00LAsINC/0L7QutCwINC90LUg0L/QvtC30LTQvdC+LiDQkdC10LbQuNC8INC20LUg0YHQutC+0YDQtdC1ISI7Ci8vINCU0YDRg9Cz0LjQtSDQstCw0YDQuNCw0L3RgtGLINC00LvRjyDRgtC10YHRgtC+0LIKIC8vJHRleHQgPSAi0J3Rgywg0L/RgNC+0YHRgtC4INC80LXQvdGPISDQndC1INGF0L7RgtC10LvQsCDRjyDRgtC10LHQtSDQt9C70LAg0YHQtNC10LvQsNGC0Yw7INC00LAg0LIg0YHQtdCx0LUg0L3QtSDQstC+0LvRjNC90LAg0LHRi9C70LAuINCn0YLQviDQs9C+0LLQvtGA0LjQu9CwLCDRh9GC0L4g0LTQtdC70LDQu9CwLCDRgdC10LHRjyDQvdC1INC/0L7QvNC90LjQu9CwLiI7CiAkdGV4dCA9ICLQmNC00LXRgiDQs9GA0LDQttC00LDQvdGB0LrQsNGPINCy0L7QudC90LAuINCa0L7RgdC80LjRh9C10YHQutC40LUg0LrQvtGA0LDQsdC70Lgg0L/QvtCy0YHRgtCw0L3RhtC10LIsINC90LDQvdC+0YHRj9GJ0LjQtSDRg9C00LDRgCDRgSDRgtCw0LnQvdC+0Lkg0LHQsNC30YssINC+0LTQtdGA0LbQsNC70Lgg0L/QtdGA0LLRg9GOINC/0L7QsdC10LTRgywg0LIg0YHRhdCy0LDRgtC60LUg0YHQviDQt9C70L7QstC10YnQtdC5INCT0LDQu9Cw0LrRgtC40YfQtdGB0LrQvtC5INCY0LzQv9C10YDQuNC10LkuIjsKCmZ1bmN0aW9uIG1ha2VGaXJzdGxldHRlclVwcGVyY2FzZSgkdGV4dCkgewogICAgcmV0dXJuIG1iX3N0cnRvdXBwZXIobWJfc3Vic3RyKCR0ZXh0LCAwLCAxLCAnVVRGLTgnKSwgJ1VURi04JykgLiBtYl9zdWJzdHIobWJfY29udmVydF9jYXNlKCR0ZXh0LCBNQl9DQVNFX0xPV0VSLCAnVVRGLTgnKSwgMSwgbWJfc3RybGVuKCR0ZXh0KSwgJ1VURi04Jyk7Cn0KCmZ1bmN0aW9uIG1ha2VZb2RhU3R5bGVUZXh0KCR0ZXh0KSB7CiAgICAkcmV2ZXJjZVNlbnRlbmNlPWFycmF5KCk7CiAgICAkd29yZHM9YXJyYXkoKTsKICAgICR5b2RhU2F5PScnOwogICAgLyog0KHQtNC10LvQsNC5INGB0LDQvCAqLwogICAgJHNlbnRlbmNlV29yZHM9YXJyYXkoKTsKICAgICRzZW50ZW5jZXMgPSBwcmVnX3NwbGl0KCIvWy5dfFshXXxbP118WztdL3UiLCAkdGV4dCwgLTEsIFBSRUdfU1BMSVRfTk9fRU1QVFkpOwoKICAgIGZvcmVhY2ggKCRzZW50ZW5jZXMgYXMgJHNlbnRlbmNlKXsKICAgICAgICBlY2hvICRzZW50ZW5jZTsKICAgICAgICAkd29yZHM9ZXhwbG9kZSgiICIsJHNlbnRlbmNlKTsKICAgICAgICAkcmV2ZXJjZVNlbnRlbmNlPWFycmF5X3JldmVyc2UoJHdvcmRzKTsKCiAgICAgICAgJHJldmVyY2VTZW50ZW5jZT0gaW1wbG9kZSgiICIsICRyZXZlcmNlU2VudGVuY2UpOwogICAgICAgICRyZXZlcmNlU2VudGVuY2U9bWFrZUZpcnN0TGV0dGVyVXBwZXJjYXNlKCRyZXZlcmNlU2VudGVuY2UpOwogICAgICAgICR5b2RhU2F5PSR5b2RhU2F5LiRyZXZlcmNlU2VudGVuY2UuIi4iOwogICAgfQoKICAgICRyZWdleHBQb2ludD0nL1ssLl17Mn0vdWknOwogICAgJHlvZGFTYXk9cHJlZ19yZXBsYWNlKCRyZWdleHBQb2ludCwnLicsJHlvZGFTYXkpOwogICAgJHlvZGFTYXk9cHJlZ19yZXBsYWNlKCIvKFtbOnB1bmN0Ol1dKylccyovIiwgJyQxICcsICR5b2RhU2F5KTsKICAgICR5b2RhU2F5PXByZWdfcmVwbGFjZSgiL1xzKihbWzpwdW5jdDpdXSspLyIsICckMSAnLCAkeW9kYVNheSk7CiAgICByZXR1cm4gJHlvZGFTYXk7Cn0KCiR5b2RhVGV4dCA9IG1ha2VZb2RhU3R5bGVUZXh0KCR0ZXh0KTsKZWNobyAi0JnQvtC00LAg0LPQvtCy0L7RgNC40YI6IHskeW9kYVRleHR9XG4iOwoK