<?php
$text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!" ;
// Другие варианты для тестов
// $text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
// $text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";
/* Делает первую букву предложения заглавной и ставим точку вконце */
function makeFirstletterUppercase( $text ) {
$text = preg_replace ( '([.,?!;])' , '' , $text ) ; // убираем пунктуацию $text = $sf . mb_substr ( $text , 1 ) . "." ; // добавляем точку в конце предложения return $text ;
}
// Функция замены порядка слов в $строке
function reverseWordOrder( $str ) {
$wordArroy = preg_split ( '/\\s/u' , $str , - 1 , PREG_SPLIT_NO_EMPTY
) ; // разбиваем $строку на $масив_слов $wordArroy = array_reverse ( $wordArroy ) ; // меняем слова местами в $масив_слов
foreach ( $wordArroy as $word ) { // склеиваем $слова в $строку
if ( ! $resultStr ) {
} else {
}
}
return $resultStr ; // возвращаем $строку
}
// Просили не менять имена переменных, главная функция
function makeYodaStyleText( $text ) {
$strArroyResult = array ( ) ; // $новый_массив_строк $strArroy = preg_split ( '/([.?!]\\s)/u' , $text , - 1 , PREG_SPLIT_NO_EMPTY
) ; // разбить $текст на $строки -> $массив_строк
foreach ( $strArroy as $str ) { // перебираем $массив_строк
$str = reverseWordOrder( $str ) ; // отправляем каждую $строку в функция замены порядка слов
$str = makeFirstletterUppercase( $str ) ; // отправляем каждую $строку в функция заглавную букву
if ( ! $resultText ) { // склеиваем строки в $финальный_текст
$resultText = ( $str ) ;
} else {
$resultText .= " " . ( $str ) ;
}
}
return $resultText ;
}
$yodaText = makeYodaStyleText( $text ) ;
echo "Йода говорит: {$yodaText} \n " ;
?>
PD9waHAKbWJfaW50ZXJuYWxfZW5jb2RpbmcoJ3V0Zi04Jyk7CgokdGV4dCA9ICLQmtCw0LbQtdGC0YHRjywg0L3QsNGBINC+0LHQvdCw0YDRg9C20LjQu9C4ISDQndCw0LTQviDRgdGA0L7Rh9C90L4g0YPRhdC+0LTQuNGC0Ywg0L7RgtGB0Y7QtNCwLCDQv9C+0LrQsCDQvdC1INC/0L7Qt9C00L3Qvi4g0JHQtdC20LjQvCDQttC1INGB0LrQvtGA0LXQtSEiOwovLyDQlNGA0YPQs9C40LUg0LLQsNGA0LjQsNC90YLRiyDQtNC70Y8g0YLQtdGB0YLQvtCyCi8vICR0ZXh0ID0gItCd0YMsINC/0YDQvtGB0YLQuCDQvNC10L3RjyEg0J3QtSDRhdC+0YLQtdC70LAg0Y8g0YLQtdCx0LUg0LfQu9CwINGB0LTQtdC70LDRgtGMOyDQtNCwINCyINGB0LXQsdC1INC90LUg0LLQvtC70YzQvdCwINCx0YvQu9CwLiDQp9GC0L4g0LPQvtCy0L7RgNC40LvQsCwg0YfRgtC+INC00LXQu9Cw0LvQsCwg0YHQtdCx0Y8g0L3QtSDQv9C+0LzQvdC40LvQsC4iOwovLyAkdGV4dCA9ICLQmNC00LXRgiDQs9GA0LDQttC00LDQvdGB0LrQsNGPINCy0L7QudC90LAuINCa0L7RgdC80LjRh9C10YHQutC40LUg0LrQvtGA0LDQsdC70Lgg0L/QvtCy0YHRgtCw0L3RhtC10LIsINC90LDQvdC+0YHRj9GJ0LjQtSDRg9C00LDRgCDRgSDRgtCw0LnQvdC+0Lkg0LHQsNC30YssINC+0LTQtdGA0LbQsNC70Lgg0L/QtdGA0LLRg9GOINC/0L7QsdC10LTRgywg0LIg0YHRhdCy0LDRgtC60LUg0YHQviDQt9C70L7QstC10YnQtdC5INCT0LDQu9Cw0LrRgtC40YfQtdGB0LrQvtC5INCY0LzQv9C10YDQuNC10LkuIjsKIAovKiDQlNC10LvQsNC10YIg0L/QtdGA0LLRg9GOINCx0YPQutCy0YMg0L/RgNC10LTQu9C+0LbQtdC90LjRjyDQt9Cw0LPQu9Cw0LLQvdC+0Lkg0Lgg0YHRgtCw0LLQuNC8INGC0L7Rh9C60YMg0LLQutC+0L3RhtC1ICovCmZ1bmN0aW9uIG1ha2VGaXJzdGxldHRlclVwcGVyY2FzZSgkdGV4dCkgewogICAgCiAgICAkdGV4dCA9IHByZWdfcmVwbGFjZSAoJyhbLiw/ITtdKScsICcnLCAkdGV4dCk7ICAvLyDRg9Cx0LjRgNCw0LXQvCDQv9GD0L3QutGC0YPQsNGG0LjRjgogICAgJHNmID0gbWJfc3RydG91cHBlcihtYl9zdWJzdHIoJHRleHQsIDAsIDEpKTsgICAgLy8g0LTQtdC70LDQtdC8INC/0LXRgNCy0YPRjiDQsdGD0LrQstGDINC/0YDQtdC00LvQvtC20LXQvdC40Y8g0LfQsNCz0LvQsNCy0L3QvtC5CiAgICAkdGV4dCA9ICRzZiAuIG1iX3N1YnN0cigkdGV4dCwgMSkgLiAiLiI7ICAgICAgICAvLyDQtNC+0LHQsNCy0LvRj9C10Lwg0YLQvtGH0LrRgyDQsiDQutC+0L3RhtC1INC/0YDQtdC00LvQvtC20LXQvdC40Y8KICAgIHJldHVybiAkdGV4dDsKfQogICAgCi8vINCk0YPQvdC60YbQuNGPINC30LDQvNC10L3RiyDQv9C+0YDRj9C00LrQsCDRgdC70L7QsiDQsiAk0YHRgtGA0L7QutC1CmZ1bmN0aW9uIHJldmVyc2VXb3JkT3JkZXIoJHN0cikgeyAgICAgICAgCiAgICAKICAgICR3b3JkQXJyb3kgPSBwcmVnX3NwbGl0ICgnL1xccy91JywgJHN0ciwgLTEsIFBSRUdfU1BMSVRfTk9fRU1QVFkpOyAvLyDRgNCw0LfQsdC40LLQsNC10LwgJNGB0YLRgNC+0LrRgyDQvdCwICTQvNCw0YHQuNCyX9GB0LvQvtCyCiAgICAkd29yZEFycm95ID0gYXJyYXlfcmV2ZXJzZSgkd29yZEFycm95KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g0LzQtdC90Y/QtdC8INGB0LvQvtCy0LAg0LzQtdGB0YLQsNC80Lgg0LIgJNC80LDRgdC40LJf0YHQu9C+0LIKICAgICAKICAgIGZvcmVhY2ggKCR3b3JkQXJyb3kgYXMgJHdvcmQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDRgdC60LvQtdC40LLQsNC10LwgJNGB0LvQvtCy0LAg0LIgJNGB0YLRgNC+0LrRgwogICAgICAgIGlmICghJHJlc3VsdFN0cikgewogICAgICAgICAgICAkcmVzdWx0U3RyID0gbWJfc3RydG9sb3dlcigkd29yZCk7ICAgICAgICAgICAgICAgIAogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRyZXN1bHRTdHIgLj0gIiAiIC4gbWJfc3RydG9sb3dlcigkd29yZCk7ICAgICAgICAgICAgIAogICAgICAgIH0KICAgIH0KcmV0dXJuICRyZXN1bHRTdHI7IC8vINCy0L7Qt9Cy0YDQsNGJ0LDQtdC8ICTRgdGC0YDQvtC60YMKfQogCi8vINCf0YDQvtGB0LjQu9C4INC90LUg0LzQtdC90Y/RgtGMINC40LzQtdC90LAg0L/QtdGA0LXQvNC10L3QvdGL0YUsINCz0LvQsNCy0L3QsNGPINGE0YPQvdC60YbQuNGPIApmdW5jdGlvbiBtYWtlWW9kYVN0eWxlVGV4dCgkdGV4dCkgeyAgICAKICAgIAogICAgJHN0ckFycm95UmVzdWx0ID0gYXJyYXkoKTsgICAgICAgICAgICAgICAgICAvLyAk0L3QvtCy0YvQuV/QvNCw0YHRgdC40LJf0YHRgtGA0L7QuiAKICAgICRzdHJBcnJveSA9IHByZWdfc3BsaXQgKCcvKFsuPyFdXFxzKS91JywgJHRleHQsIC0xLCBQUkVHX1NQTElUX05PX0VNUFRZKTsgLy8g0YDQsNC30LHQuNGC0YwgJNGC0LXQutGB0YIg0L3QsCAk0YHRgtGA0L7QutC4IC0+ICTQvNCw0YHRgdC40LJf0YHRgtGA0L7QuiAKICAgIAogICAgZm9yZWFjaCAoJHN0ckFycm95IGFzICRzdHIpIHsgICAgICAgICAgICAgICAvLyDQv9C10YDQtdCx0LjRgNCw0LXQvCAk0LzQsNGB0YHQuNCyX9GB0YLRgNC+0LogICAgICAgIAogICAgICAgICRzdHIgPSByZXZlcnNlV29yZE9yZGVyKCRzdHIpOyAgICAgICAgICAvLyDQvtGC0L/RgNCw0LLQu9GP0LXQvCDQutCw0LbQtNGD0Y4gJNGB0YLRgNC+0LrRgyDQsiDRhNGD0L3QutGG0LjRjyDQt9Cw0LzQtdC90Ysg0L/QvtGA0Y/QtNC60LAg0YHQu9C+0LIKICAgICAgICAkc3RyID0gbWFrZUZpcnN0bGV0dGVyVXBwZXJjYXNlKCRzdHIpOyAgLy8g0L7RgtC/0YDQsNCy0LvRj9C10Lwg0LrQsNC20LTRg9GOICTRgdGC0YDQvtC60YMg0LIg0YTRg9C90LrRhtC40Y8g0LfQsNCz0LvQsNCy0L3Rg9GOINCx0YPQutCy0YMKICAgICAgICBpZiAoISRyZXN1bHRUZXh0KSB7ICAgICAgICAgICAgICAgICAgICAgLy8g0YHQutC70LXQuNCy0LDQtdC8INGB0YLRgNC+0LrQuCDQsiAk0YTQuNC90LDQu9GM0L3Ri9C5X9GC0LXQutGB0YIKICAgICAgICAgICAgJHJlc3VsdFRleHQgPSAoJHN0cik7ICAgICAgICAgICAgICAgIAogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJHJlc3VsdFRleHQgLj0gIiAiIC4gKCRzdHIpOyAgICAgICAgICAgICAKICAgICAgICB9ICAgICAgICAKICAgIH0KcmV0dXJuICRyZXN1bHRUZXh0Owp9CiAKJHlvZGFUZXh0ID0gbWFrZVlvZGFTdHlsZVRleHQoJHRleHQpOwplY2hvICLQmdC+0LTQsCDQs9C+0LLQvtGA0LjRgjogeyR5b2RhVGV4dH1cbiI7Cgo/Pg==