<?php
//$text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!";
// Другие варианты для тестов
// $text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
$text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей." ;
/* Делает первую букву предложения заглавной */
function makeFirstletterUppercase( $text ) {
foreach ( $text as $key => $value ) {
$text [ $key ] = $value ;
}
return $text ;
}
function makeYodaStyleText( $text ) {
$splitText = preg_split ( '/[.!?;]\\s*/' , $text , 0 , PREG_SPLIT_NO_EMPTY
) ; $reverse = [ ] ;
foreach ( $splitText as $key => $value ) {
$value = preg_split ( '/[,?!;]?\\s/' , $value , 0 , PREG_SPLIT_NO_EMPTY
) ; }
return implode ( '' , makeFirstletterUppercase
( $splitText ) ) ; }
function reverseText( $text ) {
$text = preg_split ( '/[,?!;]?\\s/' , $text , 0 , PREG_SPLIT_NO_EMPTY
) ; }
echo ( makeYodaStyleText( $text ) ) ;
PD9waHAKIAplcnJvcl9yZXBvcnRpbmcoLTEpOwptYl9pbnRlcm5hbF9lbmNvZGluZygndXRmLTgnKTsKIAovLyR0ZXh0ID0gItCa0LDQttC10YLRgdGPLCDQvdCw0YEg0L7QsdC90LDRgNGD0LbQuNC70LghINCd0LDQtNC+INGB0YDQvtGH0L3QviDRg9GF0L7QtNC40YLRjCDQvtGC0YHRjtC00LAsINC/0L7QutCwINC90LUg0L/QvtC30LTQvdC+LiDQkdC10LbQuNC8INC20LUg0YHQutC+0YDQtdC1ISI7Ci8vINCU0YDRg9Cz0LjQtSDQstCw0YDQuNCw0L3RgtGLINC00LvRjyDRgtC10YHRgtC+0LIKLy8gJHRleHQgPSAi0J3Rgywg0L/RgNC+0YHRgtC4INC80LXQvdGPISDQndC1INGF0L7RgtC10LvQsCDRjyDRgtC10LHQtSDQt9C70LAg0YHQtNC10LvQsNGC0Yw7INC00LAg0LIg0YHQtdCx0LUg0L3QtSDQstC+0LvRjNC90LAg0LHRi9C70LAuINCn0YLQviDQs9C+0LLQvtGA0LjQu9CwLCDRh9GC0L4g0LTQtdC70LDQu9CwLCDRgdC10LHRjyDQvdC1INC/0L7QvNC90LjQu9CwLiI7CiR0ZXh0ID0gItCY0LTQtdGCINCz0YDQsNC20LTQsNC90YHQutCw0Y8g0LLQvtC50L3QsC4g0JrQvtGB0LzQuNGH0LXRgdC60LjQtSDQutC+0YDQsNCx0LvQuCDQv9C+0LLRgdGC0LDQvdGG0LXQsiwg0L3QsNC90L7RgdGP0YnQuNC1INGD0LTQsNGAINGBINGC0LDQudC90L7QuSDQsdCw0LfRiywg0L7QtNC10YDQttCw0LvQuCDQv9C10YDQstGD0Y4g0L/QvtCx0LXQtNGDLCDQsiDRgdGF0LLQsNGC0LrQtSDRgdC+INC30LvQvtCy0LXRidC10Lkg0JPQsNC70LDQutGC0LjRh9C10YHQutC+0Lkg0JjQvNC/0LXRgNC40LXQuS4iOwogCi8qINCU0LXQu9Cw0LXRgiDQv9C10YDQstGD0Y4g0LHRg9C60LLRgyDQv9GA0LXQtNC70L7QttC10L3QuNGPINC30LDQs9C70LDQstC90L7QuSAqLwpmdW5jdGlvbiBtYWtlRmlyc3RsZXR0ZXJVcHBlcmNhc2UoJHRleHQpIHsKICAgIGZvcmVhY2goJHRleHQgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICR2YWx1ZSA9IG1iX3N0cnRvdXBwZXIobWJfc3Vic3RyKCR2YWx1ZSwgMCwgMSkpCiAgICAubWJfc3Vic3RyKCR2YWx1ZSwgMSk7CiAgICAkdGV4dFska2V5XSA9ICR2YWx1ZTsKICAgIH0KICAgIHJldHVybiAkdGV4dDsKfSAKZnVuY3Rpb24gbWFrZVlvZGFTdHlsZVRleHQoJHRleHQpIHsKICAgICRzcGxpdFRleHQgPSBwcmVnX3NwbGl0KCcvWy4hPztdXFxzKi8nLCAkdGV4dCwgMCwgUFJFR19TUExJVF9OT19FTVBUWSk7CiAgICAkcmV2ZXJzZSA9IFtdOwogICAgZm9yZWFjaCAoJHNwbGl0VGV4dCBhcyAka2V5ID0+ICR2YWx1ZSl7CiAgICAgICAgJHZhbHVlID0gbWJfc3RydG9sb3dlcigkdmFsdWUpOwogICAgICAgICR2YWx1ZSA9IHByZWdfc3BsaXQoJy9bLD8hO10/XFxzLycsICR2YWx1ZSwgMCwgUFJFR19TUExJVF9OT19FTVBUWSk7CiAgICAgICAgJHNwbGl0VGV4dFska2V5XSA9IGltcGxvZGUoJyAnLCBhcnJheV9yZXZlcnNlKCR2YWx1ZSkpLicuICc7CiAgICB9CiAgICByZXR1cm4gaW1wbG9kZSgnJywgbWFrZUZpcnN0bGV0dGVyVXBwZXJjYXNlKCRzcGxpdFRleHQpKTsKfQpmdW5jdGlvbiByZXZlcnNlVGV4dCgkdGV4dCkgewogICAgJHRleHQgPSBwcmVnX3NwbGl0KCcvWyw/ITtdP1xccy8nLCAkdGV4dCwgMCwgUFJFR19TUExJVF9OT19FTVBUWSk7IAogICAgcmV0dXJuIGFycmF5X3JldmVyc2UoJHRleHQpOwp9CmVjaG8obWFrZVlvZGFTdHlsZVRleHQoJHRleHQpKTs=