<?php
//$text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!";
// Другие варианты для тестов
$text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила." ;
//$text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";
function makeYodaStyleText( $text )
{
$sentences = preg_split ( '/[.?!]/ui' , $text , 0 , PREG_SPLIT_NO_EMPTY
) ; $reverseText = '' ;
foreach ( $sentences as $sentence ) {
$sentence = implode ( ' ' , $reverseWords ) ; $sentence = $firstLetter . mb_substr ( $sentence , 1 ) ; $reverseText .= $sentence . '.' ;
}
$reverseText = preg_replace ( '/ *(\\.) */' , '$1 ' , $reverseText ) ; return $reverseText ;
}
$yodaText = makeYodaStyleText( $text ) ;
echo "Йода говорит: {$yodaText} \n " ;
PD9waHAKCmVycm9yX3JlcG9ydGluZygtMSk7Cm1iX2ludGVybmFsX2VuY29kaW5nKCd1dGYtOCcpOwoKLy8kdGV4dCA9ICLQmtCw0LbQtdGC0YHRjywg0L3QsNGBINC+0LHQvdCw0YDRg9C20LjQu9C4ISDQndCw0LTQviDRgdGA0L7Rh9C90L4g0YPRhdC+0LTQuNGC0Ywg0L7RgtGB0Y7QtNCwLCDQv9C+0LrQsCDQvdC1INC/0L7Qt9C00L3Qvi4g0JHQtdC20LjQvCDQttC1INGB0LrQvtGA0LXQtSEiOwovLyDQlNGA0YPQs9C40LUg0LLQsNGA0LjQsNC90YLRiyDQtNC70Y8g0YLQtdGB0YLQvtCyCiR0ZXh0ID0gItCd0YMsINC/0YDQvtGB0YLQuCDQvNC10L3RjyEg0J3QtSDRhdC+0YLQtdC70LAg0Y8g0YLQtdCx0LUg0LfQu9CwINGB0LTQtdC70LDRgtGMOyDQtNCwINCyINGB0LXQsdC1INC90LUg0LLQvtC70YzQvdCwINCx0YvQu9CwLiDQp9GC0L4g0LPQvtCy0L7RgNC40LvQsCwg0YfRgtC+INC00LXQu9Cw0LvQsCwg0YHQtdCx0Y8g0L3QtSDQv9C+0LzQvdC40LvQsC4iOwovLyR0ZXh0ID0gItCY0LTQtdGCINCz0YDQsNC20LTQsNC90YHQutCw0Y8g0LLQvtC50L3QsC4g0JrQvtGB0LzQuNGH0LXRgdC60LjQtSDQutC+0YDQsNCx0LvQuCDQv9C+0LLRgdGC0LDQvdGG0LXQsiwg0L3QsNC90L7RgdGP0YnQuNC1INGD0LTQsNGAINGBINGC0LDQudC90L7QuSDQsdCw0LfRiywg0L7QtNC10YDQttCw0LvQuCDQv9C10YDQstGD0Y4g0L/QvtCx0LXQtNGDLCDQsiDRgdGF0LLQsNGC0LrQtSDRgdC+INC30LvQvtCy0LXRidC10Lkg0JPQsNC70LDQutGC0LjRh9C10YHQutC+0Lkg0JjQvNC/0LXRgNC40LXQuS4iOwoKZnVuY3Rpb24gbWFrZVlvZGFTdHlsZVRleHQoJHRleHQpCnsKICAgICR0ZXh0ID0gbWJfc3RydG9sb3dlcigkdGV4dCk7CiAgICAkdGV4dCA9IHByZWdfcmVwbGFjZSgnL1ssO10vJywgJycsICR0ZXh0KTsKICAgICRzZW50ZW5jZXMgPSBwcmVnX3NwbGl0KCcvWy4/IV0vdWknLCAkdGV4dCwgMCwgUFJFR19TUExJVF9OT19FTVBUWSk7CiAgICAkcmV2ZXJzZVRleHQgPSAnJzsKICAgIGZvcmVhY2ggKCRzZW50ZW5jZXMgYXMgJHNlbnRlbmNlKSB7CiAgICAgICAgJHdvcmRzID0gcHJlZ19zcGxpdCgnLyAvJywgJHNlbnRlbmNlKTsKICAgICAgICAkcmV2ZXJzZVdvcmRzID0gYXJyYXlfcmV2ZXJzZSgkd29yZHMpOwogICAgICAgICRzZW50ZW5jZSA9IGltcGxvZGUoJyAnLCAkcmV2ZXJzZVdvcmRzKTsKICAgICAgICAkZmlyc3RMZXR0ZXIgPSBtYl9zdHJ0b3VwcGVyKG1iX3N1YnN0cigkc2VudGVuY2UsIDAsIDEpKTsKICAgICAgICAkc2VudGVuY2UgPSAkZmlyc3RMZXR0ZXIgLiBtYl9zdWJzdHIoJHNlbnRlbmNlLCAxKTsKICAgICAgICAkcmV2ZXJzZVRleHQgLj0gJHNlbnRlbmNlIC4gJy4nOwogICAgfQogICAgJHJldmVyc2VUZXh0ID0gcHJlZ19yZXBsYWNlKCcvICooXFwuKSAqLycsICckMSAnLCAkcmV2ZXJzZVRleHQpOwogICAgcmV0dXJuICRyZXZlcnNlVGV4dDsKfQoKJHlvZGFUZXh0ID0gbWFrZVlvZGFTdHlsZVRleHQoJHRleHQpOwplY2hvICLQmdC+0LTQsCDQs9C+0LLQvtGA0LjRgjogeyR5b2RhVGV4dH1cbiI7