<?php
//$text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!";
// Другие варианты для тестов
//$text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
$text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей." ;
/* Делает первую букву предложения заглавной */
function makeFirstletterUppercase( $text ) {
$textRest = mb_substr ( $text , 1 , $textLength ) ;
}
function makeYodaStyleText( $text ) {
$result = '' ;
$sentences = preg_split ( '/[,.;?!]/' , $text , NULL , PREG_SPLIT_NO_EMPTY
) ; foreach ( $sentences as $sentence ) {
$words = preg_split ( '/[\\s]/' , $sentence , NULL , PREG_SPLIT_NO_EMPTY
) ; $yodaSentence = implode ( " " , $words ) ; $yodaSentence = makeFirstletterUppercase( $yodaSentence ) ;
$result [ ] = $yodaSentence ;
}
return $result ;
}
$yodaText = makeYodaStyleText( $text ) ;
echo "Йода говорит: {$yodaText} ." ;
?>
PD9waHAKCmVycm9yX3JlcG9ydGluZygtMSk7Cm1iX2ludGVybmFsX2VuY29kaW5nKCd1dGYtOCcpOwoKLy8kdGV4dCA9ICLQmtCw0LbQtdGC0YHRjywg0L3QsNGBINC+0LHQvdCw0YDRg9C20LjQu9C4ISDQndCw0LTQviDRgdGA0L7Rh9C90L4g0YPRhdC+0LTQuNGC0Ywg0L7RgtGB0Y7QtNCwLCDQv9C+0LrQsCDQvdC1INC/0L7Qt9C00L3Qvi4g0JHQtdC20LjQvCDQttC1INGB0LrQvtGA0LXQtSEiOwovLyDQlNGA0YPQs9C40LUg0LLQsNGA0LjQsNC90YLRiyDQtNC70Y8g0YLQtdGB0YLQvtCyCi8vJHRleHQgPSAi0J3Rgywg0L/RgNC+0YHRgtC4INC80LXQvdGPISDQndC1INGF0L7RgtC10LvQsCDRjyDRgtC10LHQtSDQt9C70LAg0YHQtNC10LvQsNGC0Yw7INC00LAg0LIg0YHQtdCx0LUg0L3QtSDQstC+0LvRjNC90LAg0LHRi9C70LAuINCn0YLQviDQs9C+0LLQvtGA0LjQu9CwLCDRh9GC0L4g0LTQtdC70LDQu9CwLCDRgdC10LHRjyDQvdC1INC/0L7QvNC90LjQu9CwLiI7CiAkdGV4dCA9ICLQmNC00LXRgiDQs9GA0LDQttC00LDQvdGB0LrQsNGPINCy0L7QudC90LAuINCa0L7RgdC80LjRh9C10YHQutC40LUg0LrQvtGA0LDQsdC70Lgg0L/QvtCy0YHRgtCw0L3RhtC10LIsINC90LDQvdC+0YHRj9GJ0LjQtSDRg9C00LDRgCDRgSDRgtCw0LnQvdC+0Lkg0LHQsNC30YssINC+0LTQtdGA0LbQsNC70Lgg0L/QtdGA0LLRg9GOINC/0L7QsdC10LTRgywg0LIg0YHRhdCy0LDRgtC60LUg0YHQviDQt9C70L7QstC10YnQtdC5INCT0LDQu9Cw0LrRgtC40YfQtdGB0LrQvtC5INCY0LzQv9C10YDQuNC10LkuIjsKCi8qINCU0LXQu9Cw0LXRgiDQv9C10YDQstGD0Y4g0LHRg9C60LLRgyDQv9GA0LXQtNC70L7QttC10L3QuNGPINC30LDQs9C70LDQstC90L7QuSAqLwpmdW5jdGlvbiBtYWtlRmlyc3RsZXR0ZXJVcHBlcmNhc2UoJHRleHQpIHsKICAgICR0ZXh0TGVuZ3RoID0gbWJfc3RybGVuKCR0ZXh0KTsKICAgICR0ZXh0Rmlyc3RMZXR0ZXIgPSBtYl9zdWJzdHIoJHRleHQsIDAsIDEpOwogICAgJHRleHRSZXN0ID0gbWJfc3Vic3RyKCR0ZXh0LCAxLCAkdGV4dExlbmd0aCk7CiAgICAKICAgIHJldHVybiBtYl9zdHJ0b3VwcGVyKCR0ZXh0Rmlyc3RMZXR0ZXIpLm1iX3N0cnRvbG93ZXIoJHRleHRSZXN0KTsKfQoKZnVuY3Rpb24gbWFrZVlvZGFTdHlsZVRleHQoJHRleHQpIHsKICAgICRyZXN1bHQgPSAnJzsKICAgICRzZW50ZW5jZXMgPSBwcmVnX3NwbGl0KCcvWywuOz8hXS8nLCAkdGV4dCwgTlVMTCwgUFJFR19TUExJVF9OT19FTVBUWSk7CiAgICBmb3JlYWNoICgkc2VudGVuY2VzIGFzICRzZW50ZW5jZSkgewogICAgICAgICR3b3JkcyA9IHByZWdfc3BsaXQoJy9bXFxzXS8nLCAkc2VudGVuY2UsIE5VTEwsIFBSRUdfU1BMSVRfTk9fRU1QVFkpOwogICAgICAgIHNodWZmbGUoJHdvcmRzKTsKICAgICAgICAkeW9kYVNlbnRlbmNlID0gaW1wbG9kZSgiICIsICR3b3Jkcyk7CiAgICAgICAgJHlvZGFTZW50ZW5jZSA9IG1ha2VGaXJzdGxldHRlclVwcGVyY2FzZSgkeW9kYVNlbnRlbmNlKTsKICAgICAgICAkcmVzdWx0W10gPSAkeW9kYVNlbnRlbmNlOwogICAgfQogICAgJHJlc3VsdCA9IGltcGxvZGUoIi4gIiwgJHJlc3VsdCk7CiAgICByZXR1cm4gJHJlc3VsdDsKfQoKJHlvZGFUZXh0ID0gbWFrZVlvZGFTdHlsZVRleHQoJHRleHQpOwplY2hvICLQmdC+0LTQsCDQs9C+0LLQvtGA0LjRgjogeyR5b2RhVGV4dH0uIjsKCj8+