<?php
$text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!" ;
// Другие варианты для тестов
// $text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
// $text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";
/* Делает первую букву предложения заглавной */
function makeYodaStyleText( $a ) {
$a = preg_replace ( '/[,;]/' , "" , $a ) ; //убираю запятые и т.п., чтоб не мешались $array1 = preg_split ( '/[.?!]/u' , $a , 0 , PREG_SPLIT_NO_EMPTY
) ; //делю по предложениям $array2 = [ ] ;
foreach ( $array1 as $key => $value ) {
$array2 [ $key ] = preg_split ( '/ /u' , $value , 0 , PREG_SPLIT_NO_EMPTY
) ; //делю по словам }
for ( $i = 0 ; $i < count ( $array2 ) ; $i ++ ) { $array2 [ $i ] = implode ( " " , $array2 [ $i ] ) ; //соединяю }
$newText = implode ( ". " , $array2 ) . "." ; //делаю единое предложение return $newText ;
}
$yodaText = makeYodaStyleText( $text ) ;
echo "Йода говорит: {$yodaText} \n " ;
PD9waHAKCmVycm9yX3JlcG9ydGluZygtMSk7Cm1iX2ludGVybmFsX2VuY29kaW5nKCd1dGYtOCcpOwoKJHRleHQgPSAi0JrQsNC20LXRgtGB0Y8sINC90LDRgSDQvtCx0L3QsNGA0YPQttC40LvQuCEg0J3QsNC00L4g0YHRgNC+0YfQvdC+INGD0YXQvtC00LjRgtGMINC+0YLRgdGO0LTQsCwg0L/QvtC60LAg0L3QtSDQv9C+0LfQtNC90L4uINCR0LXQttC40Lwg0LbQtSDRgdC60L7RgNC10LUhIjsKLy8g0JTRgNGD0LPQuNC1INCy0LDRgNC40LDQvdGC0Ysg0LTQu9GPINGC0LXRgdGC0L7QsgovLyAkdGV4dCA9ICLQndGDLCDQv9GA0L7RgdGC0Lgg0LzQtdC90Y8hINCd0LUg0YXQvtGC0LXQu9CwINGPINGC0LXQsdC1INC30LvQsCDRgdC00LXQu9Cw0YLRjDsg0LTQsCDQsiDRgdC10LHQtSDQvdC1INCy0L7Qu9GM0L3QsCDQsdGL0LvQsC4g0KfRgtC+INCz0L7QstC+0YDQuNC70LAsINGH0YLQviDQtNC10LvQsNC70LAsINGB0LXQsdGPINC90LUg0L/QvtC80L3QuNC70LAuIjsKLy8gJHRleHQgPSAi0JjQtNC10YIg0LPRgNCw0LbQtNCw0L3RgdC60LDRjyDQstC+0LnQvdCwLiDQmtC+0YHQvNC40YfQtdGB0LrQuNC1INC60L7RgNCw0LHQu9C4INC/0L7QstGB0YLQsNC90YbQtdCyLCDQvdCw0L3QvtGB0Y/RidC40LUg0YPQtNCw0YAg0YEg0YLQsNC50L3QvtC5INCx0LDQt9GLLCDQvtC00LXRgNC20LDQu9C4INC/0LXRgNCy0YPRjiDQv9C+0LHQtdC00YMsINCyINGB0YXQstCw0YLQutC1INGB0L4g0LfQu9C+0LLQtdGJ0LXQuSDQk9Cw0LvQsNC60YLQuNGH0LXRgdC60L7QuSDQmNC80L/QtdGA0LjQtdC5LiI7CgovKiDQlNC10LvQsNC10YIg0L/QtdGA0LLRg9GOINCx0YPQutCy0YMg0L/RgNC10LTQu9C+0LbQtdC90LjRjyDQt9Cw0LPQu9Cw0LLQvdC+0LkgKi8KCgpmdW5jdGlvbiBtYWtlWW9kYVN0eWxlVGV4dCgkYSkgewogICAgJGEgPSBtYl9zdHJ0b2xvd2VyKCRhKTsgLy/QtNC10LvQsNGOINCy0YHRkSDQvNCw0LvQtdC90YzQutC40LzQuAogICAgJGEgPSBwcmVnX3JlcGxhY2UoJy9bLDtdLycsICIiLCAkYSk7IC8v0YPQsdC40YDQsNGOINC30LDQv9GP0YLRi9C1INC4INGCLtC/Liwg0YfRgtC+0LEg0L3QtSDQvNC10YjQsNC70LjRgdGMCiAgICAkYXJyYXkxID0gcHJlZ19zcGxpdCgnL1suPyFdL3UnLCAkYSwgMCwgUFJFR19TUExJVF9OT19FTVBUWSk7IC8v0LTQtdC70Y4g0L/QviDQv9GA0LXQtNC70L7QttC10L3QuNGP0LwKICAgICRhcnJheTIgPSBbXTsKICAgIGZvcmVhY2goJGFycmF5MSBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICRhcnJheTJbJGtleV0gPSBwcmVnX3NwbGl0KCcvIC91JywgJHZhbHVlLCAwLCBQUkVHX1NQTElUX05PX0VNUFRZKTsgLy/QtNC10LvRjiDQv9C+INGB0LvQvtCy0LDQvAogICAgfQogICAgZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJGFycmF5Mik7ICRpKyspIHsKICAgICAgICAkYXJyYXkyWyRpXSA9IGFycmF5X3JldmVyc2UoJGFycmF5MlskaV0pOyAgLy/Qv9C10YDQtdCy0L7RgNCw0YfQuNCy0LDRjgogICAgICAgICRhcnJheTJbJGldID0gaW1wbG9kZSgiICIsICRhcnJheTJbJGldKTsgLy/RgdC+0LXQtNC40L3Rj9GOCiAgICAgICAgJGFycmF5MlskaV0gPSBtYl9zdHJ0b3VwcGVyKG1iX3N1YnN0cigkYXJyYXkyWyRpXSwwLDEpKS5tYl9zdWJzdHIoJGFycmF5MlskaV0sMSk7IC8v0L/QtdGA0LLRg9GOINCx0YPQutCy0YMg0LfQsNCz0LvQsNCy0L3QvtC5CiAgICB9CiAgICAkbmV3VGV4dCA9IGltcGxvZGUoIi4gIiwgJGFycmF5MikuIi4iOyAvL9C00LXQu9Cw0Y4g0LXQtNC40L3QvtC1INC/0YDQtdC00LvQvtC20LXQvdC40LUKICAgIHJldHVybiAkbmV3VGV4dDsKfQoKJHlvZGFUZXh0ID0gbWFrZVlvZGFTdHlsZVRleHQoJHRleHQpOwplY2hvICLQmdC+0LTQsCDQs9C+0LLQvtGA0LjRgjogeyR5b2RhVGV4dH1cbiI7