<?php
//$text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!";
// Другие варианты для тестов
//$text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
$text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей." ;
/* Делает первую букву предложения заглавной */
function makeFirstletterUppercase( $text ) {
$parts = preg_split ( '/(?<=[.!?])/u' , $text , 0 , PREG_SPLIT_NO_EMPTY
) ; foreach ( $parts as $key => $sentence ) {
$sentence = trim ( $sentence ) ; $sentence = $firstLetter . $otherPart ;
}
return $result ;
}
function makeYodaStyleText( $text ) {
$parts = preg_split ( '/[,.!?;]/u' , $text , 0 , PREG_SPLIT_NO_EMPTY
) ; foreach ( $parts as $key => $sentence ) {
$words = preg_split ( '/[ ,]/' , $sentence , 0 , PREG_SPLIT_NO_EMPTY
) ; $reverseWords = implode ( ' ' , $reverseWords ) ; $text = str_replace ( $parts [ $key ] , $reverseWords , $text ) ; $result = makeFirstletterUppercase( $text ) ;
}
return $result ;
}
$yodaText = makeYodaStyleText( $text ) ;
echo "Йода говорит: {$yodaText} \n " ;
PD9waHAKCmVycm9yX3JlcG9ydGluZygtMSk7Cm1iX2ludGVybmFsX2VuY29kaW5nKCd1dGYtOCcpOwoKLy8kdGV4dCA9ICLQmtCw0LbQtdGC0YHRjywg0L3QsNGBINC+0LHQvdCw0YDRg9C20LjQu9C4ISDQndCw0LTQviDRgdGA0L7Rh9C90L4g0YPRhdC+0LTQuNGC0Ywg0L7RgtGB0Y7QtNCwLCDQv9C+0LrQsCDQvdC1INC/0L7Qt9C00L3Qvi4g0JHQtdC20LjQvCDQttC1INGB0LrQvtGA0LXQtSEiOwovLyDQlNGA0YPQs9C40LUg0LLQsNGA0LjQsNC90YLRiyDQtNC70Y8g0YLQtdGB0YLQvtCyCi8vJHRleHQgPSAi0J3Rgywg0L/RgNC+0YHRgtC4INC80LXQvdGPISDQndC1INGF0L7RgtC10LvQsCDRjyDRgtC10LHQtSDQt9C70LAg0YHQtNC10LvQsNGC0Yw7INC00LAg0LIg0YHQtdCx0LUg0L3QtSDQstC+0LvRjNC90LAg0LHRi9C70LAuINCn0YLQviDQs9C+0LLQvtGA0LjQu9CwLCDRh9GC0L4g0LTQtdC70LDQu9CwLCDRgdC10LHRjyDQvdC1INC/0L7QvNC90LjQu9CwLiI7CiR0ZXh0ID0gItCY0LTQtdGCINCz0YDQsNC20LTQsNC90YHQutCw0Y8g0LLQvtC50L3QsC4g0JrQvtGB0LzQuNGH0LXRgdC60LjQtSDQutC+0YDQsNCx0LvQuCDQv9C+0LLRgdGC0LDQvdGG0LXQsiwg0L3QsNC90L7RgdGP0YnQuNC1INGD0LTQsNGAINGBINGC0LDQudC90L7QuSDQsdCw0LfRiywg0L7QtNC10YDQttCw0LvQuCDQv9C10YDQstGD0Y4g0L/QvtCx0LXQtNGDLCDQsiDRgdGF0LLQsNGC0LrQtSDRgdC+INC30LvQvtCy0LXRidC10Lkg0JPQsNC70LDQutGC0LjRh9C10YHQutC+0Lkg0JjQvNC/0LXRgNC40LXQuS4iOwoKLyog0JTQtdC70LDQtdGCINC/0LXRgNCy0YPRjiDQsdGD0LrQstGDINC/0YDQtdC00LvQvtC20LXQvdC40Y8g0LfQsNCz0LvQsNCy0L3QvtC5ICovCmZ1bmN0aW9uIG1ha2VGaXJzdGxldHRlclVwcGVyY2FzZSgkdGV4dCkgewogICAgJHBhcnRzID0gcHJlZ19zcGxpdCgnLyg/PD1bLiE/XSkvdScsICR0ZXh0LCAwLCBQUkVHX1NQTElUX05PX0VNUFRZKTsKCQlmb3JlYWNoKCRwYXJ0cyBhcyAka2V5ID0+ICRzZW50ZW5jZSkgewoJCQkkc2VudGVuY2UgPSB0cmltKCRzZW50ZW5jZSk7CgkJCSRvdGhlclBhcnQgPSBtYl9zdWJzdHIoJHNlbnRlbmNlLCAxKTsKCQkJJGZpcnN0TGV0dGVyID0gbWJfc3RydG91cHBlcihtYl9zdWJzdHIoJHNlbnRlbmNlLCAwLCAxKSk7CgkJCSRzZW50ZW5jZSA9ICRmaXJzdExldHRlciAuICRvdGhlclBhcnQ7CgkJCSR0ZXh0ID0gc3RyX3JlcGxhY2UoJHBhcnRzWyRrZXldLCAkc2VudGVuY2UsICR0ZXh0KTsKCQkJJHJlc3VsdCA9IHByZWdfcmVwbGFjZSgnL1ssLiE/O10vJywgJyQwICcsICR0ZXh0KTsKCQl9CglyZXR1cm4gJHJlc3VsdDsKfQoKZnVuY3Rpb24gbWFrZVlvZGFTdHlsZVRleHQoJHRleHQpIHsKCSRwYXJ0cyA9IHByZWdfc3BsaXQoJy9bLC4hPztdL3UnLCAkdGV4dCwgMCwgUFJFR19TUExJVF9OT19FTVBUWSk7CgkJZm9yZWFjaCAoJHBhcnRzIGFzICRrZXkgPT4gJHNlbnRlbmNlKSB7CgkJCSR3b3JkcyA9IHByZWdfc3BsaXQoJy9bICxdLycsICRzZW50ZW5jZSwgMCwgUFJFR19TUExJVF9OT19FTVBUWSk7CgkJCSRyZXZlcnNlV29yZHMgPSBhcnJheV9yZXZlcnNlKCR3b3Jkcyk7CgkJCSRyZXZlcnNlV29yZHMgPSBpbXBsb2RlKCcgJywgJHJldmVyc2VXb3Jkcyk7CgkJCSRyZXZlcnNlV29yZHMgPSBtYl9zdHJ0b2xvd2VyKCRyZXZlcnNlV29yZHMpOwoJCQkkdGV4dCA9IHN0cl9yZXBsYWNlKCRwYXJ0c1ska2V5XSwgJHJldmVyc2VXb3JkcywgJHRleHQpOwoJCQkkcmVzdWx0ID0gbWFrZUZpcnN0bGV0dGVyVXBwZXJjYXNlKCR0ZXh0KTsKCQl9CglyZXR1cm4gJHJlc3VsdDsKfQoKJHlvZGFUZXh0ID0gbWFrZVlvZGFTdHlsZVRleHQoJHRleHQpOwplY2hvICLQmdC+0LTQsCDQs9C+0LLQvtGA0LjRgjogeyR5b2RhVGV4dH1cbiI7Cgo=