<?php
$text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!" ;
// Другие варианты для тестов
// $text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
// $text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";
/* Делает первую букву предложения заглавной */
function makeFirstletterUppercase( $text ) {
$chars = preg_split ( '//u' , $text , - 1 , PREG_SPLIT_NO_EMPTY
) ; $sentence = '' ;
return $sentence ;
}
function makeYodaStyleText( $text ) {
$result = '' ;
$sentences = preg_split ( '/[.?!]/ui' , $text , - 1 , PREG_SPLIT_NO_EMPTY
) ; //var_dump($sentences);
foreach ( $sentences as $sentence ) {
$sentence = trim ( $sentence ) ; $sentence = makeFirstLetterUppercase( $sentence ) ;
$result = $result . $sentence . ". " ;
}
return $result ;
}
$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+0LkgKi8KZnVuY3Rpb24gbWFrZUZpcnN0bGV0dGVyVXBwZXJjYXNlKCR0ZXh0KSB7CgkkY2hhcnMgPSBwcmVnX3NwbGl0KCcvL3UnLCAkdGV4dCwgLTEsIFBSRUdfU1BMSVRfTk9fRU1QVFkpOwoJJGNoYXJzWzBdID0gbWJfc3RydG91cHBlcigkY2hhcnNbMF0pOwoJJHNlbnRlbmNlID0gJyc7Cgkkc2VudGVuY2UgPSBpbXBsb2RlKCcnLCAkY2hhcnMpOwoJcmV0dXJuICRzZW50ZW5jZTsKCX0KCmZ1bmN0aW9uIG1ha2VZb2RhU3R5bGVUZXh0KCR0ZXh0KSB7CgkkcmVzdWx0ID0gJyc7CgkkdGV4dCA9IHByZWdfcmVwbGFjZSgnL1ssO10vJywgJycsICR0ZXh0KTsKCSR0ZXh0ID0gbWJfc3RydG9sb3dlcigkdGV4dCk7Cgkkc2VudGVuY2VzID0gcHJlZ19zcGxpdCgnL1suPyFdL3VpJywgJHRleHQsIC0xLCBQUkVHX1NQTElUX05PX0VNUFRZKTsKCS8vdmFyX2R1bXAoJHNlbnRlbmNlcyk7Cglmb3JlYWNoKCRzZW50ZW5jZXMgYXMgJHNlbnRlbmNlKSB7CgkJJHNlbnRlbmNlID0gdHJpbSgkc2VudGVuY2UpOwoJCSR3b3JkcyA9IHByZWdfc3BsaXQoJy9ccy8nLCAkc2VudGVuY2UpOwoJCSR3b3JkcyA9IGFycmF5X3JldmVyc2UoJHdvcmRzKTsKCQkkc2VudGVuY2UgPSBpbXBsb2RlKCcgJywgJHdvcmRzKTsKCQkkc2VudGVuY2UgPSBtYWtlRmlyc3RMZXR0ZXJVcHBlcmNhc2UoJHNlbnRlbmNlKTsKCQkkcmVzdWx0ID0gJHJlc3VsdCAuICRzZW50ZW5jZSAuICIuICI7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQoKJHlvZGFUZXh0ID0gbWFrZVlvZGFTdHlsZVRleHQoJHRleHQpOwplY2hvICLQmdC+0LTQsCDQs9C+0LLQvtGA0LjRgjogeyR5b2RhVGV4dH1cbiI7