<?php
$text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!" ;
// Другие варианты для тестов
//$text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
//$text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";
/* Делает первую букву предложения заглавной */
function makeFirstletterUppercase( $text ) {
$text = preg_split ( '#[?!.]#u' , $text , - 1 , PREG_SPLIT_NO_EMPTY
) ; foreach ( $text as $key => $letter ) {
$text [ $key ] = trim ( $text [ $key ] ) ; $text [ $key ] = preg_split ( '//u' , $text [ $key ] , - 1 , PREG_SPLIT_NO_EMPTY
) ; $text [ $key ] = implode ( "" , $text [ $key ] ) ; }
return $text ;
}
function makeYodaStyleText( $text ) {
//$result = makeFirstletterUppercase($text);
$result = preg_split ( '#[?!.]#u' , $text , - 1 , PREG_SPLIT_NO_EMPTY
) ; foreach ( $result as $key => $word ) {
$result [ $key ] = explode ( " " , $result [ $key ] ) ; $result [ $key ] = implode ( " " , $result [ $key ] ) ; }
$result = makeFirstletterUppercase( $result ) ;
$reg = '#([a-zа-я][.?!])#u' ;;
return $result ;
}
$yodaText = makeYodaStyleText( $text ) ;
echo "Йода говорит: {$yodaText} \n " ;
PD9waHAKCmVycm9yX3JlcG9ydGluZygtMSk7Cm1iX2ludGVybmFsX2VuY29kaW5nKCd1dGYtOCcpOwoKJHRleHQgPSAi0JrQsNC20LXRgtGB0Y8sINC90LDRgSDQvtCx0L3QsNGA0YPQttC40LvQuCEg0J3QsNC00L4g0YHRgNC+0YfQvdC+INGD0YXQvtC00LjRgtGMINC+0YLRgdGO0LTQsCwg0L/QvtC60LAg0L3QtSDQv9C+0LfQtNC90L4uINCR0LXQttC40Lwg0LbQtSDRgdC60L7RgNC10LUhIjsKLy8g0JTRgNGD0LPQuNC1INCy0LDRgNC40LDQvdGC0Ysg0LTQu9GPINGC0LXRgdGC0L7QsgovLyR0ZXh0ID0gItCd0YMsINC/0YDQvtGB0YLQuCDQvNC10L3RjyEg0J3QtSDRhdC+0YLQtdC70LAg0Y8g0YLQtdCx0LUg0LfQu9CwINGB0LTQtdC70LDRgtGMOyDQtNCwINCyINGB0LXQsdC1INC90LUg0LLQvtC70YzQvdCwINCx0YvQu9CwLiDQp9GC0L4g0LPQvtCy0L7RgNC40LvQsCwg0YfRgtC+INC00LXQu9Cw0LvQsCwg0YHQtdCx0Y8g0L3QtSDQv9C+0LzQvdC40LvQsC4iOwovLyR0ZXh0ID0gItCY0LTQtdGCINCz0YDQsNC20LTQsNC90YHQutCw0Y8g0LLQvtC50L3QsC4g0JrQvtGB0LzQuNGH0LXRgdC60LjQtSDQutC+0YDQsNCx0LvQuCDQv9C+0LLRgdGC0LDQvdGG0LXQsiwg0L3QsNC90L7RgdGP0YnQuNC1INGD0LTQsNGAINGBINGC0LDQudC90L7QuSDQsdCw0LfRiywg0L7QtNC10YDQttCw0LvQuCDQv9C10YDQstGD0Y4g0L/QvtCx0LXQtNGDLCDQsiDRgdGF0LLQsNGC0LrQtSDRgdC+INC30LvQvtCy0LXRidC10Lkg0JPQsNC70LDQutGC0LjRh9C10YHQutC+0Lkg0JjQvNC/0LXRgNC40LXQuS4iOwoKLyog0JTQtdC70LDQtdGCINC/0LXRgNCy0YPRjiDQsdGD0LrQstGDINC/0YDQtdC00LvQvtC20LXQvdC40Y8g0LfQsNCz0LvQsNCy0L3QvtC5ICovCmZ1bmN0aW9uIG1ha2VGaXJzdGxldHRlclVwcGVyY2FzZSgkdGV4dCkgewogICAgJHRleHQgPSBwcmVnX3NwbGl0KCcjWz8hLl0jdScsICR0ZXh0LCAtMSwgUFJFR19TUExJVF9OT19FTVBUWSk7CiAgICBmb3JlYWNoICgkdGV4dCBhcyAka2V5ID0+ICRsZXR0ZXIpewogICAgCSR0ZXh0WyRrZXldID0gdHJpbSgkdGV4dFska2V5XSk7CiAgICAJJHRleHRbJGtleV0gPSBwcmVnX3NwbGl0KCcvL3UnLCAkdGV4dFska2V5XSwgLTEsIFBSRUdfU1BMSVRfTk9fRU1QVFkpOwogICAgCSR0ZXh0WyRrZXldWzBdID0gbWJfc3RydG91cHBlcigkdGV4dFska2V5XVswXSk7CiAgICAJJHRleHRbJGtleV0gPSBpbXBsb2RlKCIiLCAkdGV4dFska2V5XSk7CiAgICB9CiAgICAkdGV4dCA9IGltcGxvZGUoIi4iLCR0ZXh0KTsKICAgIHJldHVybiAkdGV4dDsKfQoKZnVuY3Rpb24gbWFrZVlvZGFTdHlsZVRleHQoJHRleHQpIHsKICAgIAogICAgLy8kcmVzdWx0ID0gbWFrZUZpcnN0bGV0dGVyVXBwZXJjYXNlKCR0ZXh0KTsKICAgICR0ZXh0ID0gbWJfc3RydG9sb3dlcigkdGV4dCk7CiAgICAkcmVzdWx0ID0gcHJlZ19zcGxpdCgnI1s/IS5dI3UnLCAkdGV4dCwgLTEsIFBSRUdfU1BMSVRfTk9fRU1QVFkpOwogICAgZm9yZWFjaCAoJHJlc3VsdCBhcyAka2V5ID0+ICR3b3JkKXsKICAgIAkkcmVzdWx0WyRrZXldID0gcHJlZ19yZXBsYWNlKCcjWyw7XSN1JywgIiIsICRyZXN1bHRbJGtleV0pOwogICAgCSRyZXN1bHRbJGtleV0gPSBleHBsb2RlKCIgIiwgJHJlc3VsdFska2V5XSk7CiAgICAJJHJlc3VsdFska2V5XSA9IGFycmF5X3JldmVyc2UoJHJlc3VsdFska2V5XSk7CiAgICAJJHJlc3VsdFska2V5XSA9IGltcGxvZGUoIiAiLCAkcmVzdWx0WyRrZXldKTsKICAgIH0KICAgICRyZXN1bHQgPSBpbXBsb2RlKCIuIiwkcmVzdWx0KTsKICAgICRyZXN1bHQgPSBtYWtlRmlyc3RsZXR0ZXJVcHBlcmNhc2UoJHJlc3VsdCk7CgkkcmVnID0gJyMoW2EtetCwLdGPXVsuPyFdKSN1Jzs7CgkkcmVzdWx0ID0gcHJlZ19yZXBsYWNlKCRyZWcsICIkMSAiLCAkcmVzdWx0KTsKCXJldHVybiAkcmVzdWx0Owp9CgokeW9kYVRleHQgPSBtYWtlWW9kYVN0eWxlVGV4dCgkdGV4dCk7CmVjaG8gItCZ0L7QtNCwINCz0L7QstC+0YDQuNGCOiB7JHlvZGFUZXh0fVxuIjsKCg==