<?php
$text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей." ;
// Другие варианты для тестов
// $text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
// $text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";
/* Делает первую букву предложения заглавной */
function makeFirstletterUppercase( $text ) {
$strings = preg_split ( "/[.!?]+ ?/" , $fixedStrings , null , PREG_SPLIT_NO_EMPTY
) ; $array = [ ] ;
foreach ( $strings as $string ) {
$fixedWords = implode ( " " , $sdrow ) ; $array [ ] = $fixedWords ;
}
$array2 = [ ] ;
foreach ( $array as $string ) {
$fixedString = $upperLetter . $restLetters . "." ;
$array2 [ ] = $fixedString ;
}
return $fixedText = implode ( " " , $array2 ) ;
}
function makeYodaStyleText( $text ) {
$text = makeFirstletterUppercase( $text ) ;
$strings = preg_split ( "/[.!?]+ ?/" , $text , null , PREG_SPLIT_NO_EMPTY
) ; $array = [ ] ;
foreach ( $strings as $string ) {
$array [ ] = $fixedString ;
}
$fixedText = implode ( ". " , $array ) ; return $fixedText = preg_replace ( "/([а-яёА-ЯЁa-zA-Z]+)$/" , "$1 ." , $fixedText ) ;
}
$yodaText = makeYodaStyleText( $text ) ;
echo "Йода говорит: {$yodaText} \n " ;
PD9waHAKIAplcnJvcl9yZXBvcnRpbmcoLTEpOwptYl9pbnRlcm5hbF9lbmNvZGluZygndXRmLTgnKTsKIAokdGV4dCA9ICLQmNC00LXRgiDQs9GA0LDQttC00LDQvdGB0LrQsNGPINCy0L7QudC90LAuINCa0L7RgdC80LjRh9C10YHQutC40LUg0LrQvtGA0LDQsdC70Lgg0L/QvtCy0YHRgtCw0L3RhtC10LIsINC90LDQvdC+0YHRj9GJ0LjQtSDRg9C00LDRgCDRgSDRgtCw0LnQvdC+0Lkg0LHQsNC30YssINC+0LTQtdGA0LbQsNC70Lgg0L/QtdGA0LLRg9GOINC/0L7QsdC10LTRgywg0LIg0YHRhdCy0LDRgtC60LUg0YHQviDQt9C70L7QstC10YnQtdC5INCT0LDQu9Cw0LrRgtC40YfQtdGB0LrQvtC5INCY0LzQv9C10YDQuNC10LkuIjsKLy8g0JTRgNGD0LPQuNC1INCy0LDRgNC40LDQvdGC0Ysg0LTQu9GPINGC0LXRgdGC0L7QsgovLyAkdGV4dCA9ICLQndGDLCDQv9GA0L7RgdGC0Lgg0LzQtdC90Y8hINCd0LUg0YXQvtGC0LXQu9CwINGPINGC0LXQsdC1INC30LvQsCDRgdC00LXQu9Cw0YLRjDsg0LTQsCDQsiDRgdC10LHQtSDQvdC1INCy0L7Qu9GM0L3QsCDQsdGL0LvQsC4g0KfRgtC+INCz0L7QstC+0YDQuNC70LAsINGH0YLQviDQtNC10LvQsNC70LAsINGB0LXQsdGPINC90LUg0L/QvtC80L3QuNC70LAuIjsKLy8gJHRleHQgPSAi0JjQtNC10YIg0LPRgNCw0LbQtNCw0L3RgdC60LDRjyDQstC+0LnQvdCwLiDQmtC+0YHQvNC40YfQtdGB0LrQuNC1INC60L7RgNCw0LHQu9C4INC/0L7QstGB0YLQsNC90YbQtdCyLCDQvdCw0L3QvtGB0Y/RidC40LUg0YPQtNCw0YAg0YEg0YLQsNC50L3QvtC5INCx0LDQt9GLLCDQvtC00LXRgNC20LDQu9C4INC/0LXRgNCy0YPRjiDQv9C+0LHQtdC00YMsINCyINGB0YXQstCw0YLQutC1INGB0L4g0LfQu9C+0LLQtdGJ0LXQuSDQk9Cw0LvQsNC60YLQuNGH0LXRgdC60L7QuSDQmNC80L/QtdGA0LjQtdC5LiI7CiAKLyog0JTQtdC70LDQtdGCINC/0LXRgNCy0YPRjiDQsdGD0LrQstGDINC/0YDQtdC00LvQvtC20LXQvdC40Y8g0LfQsNCz0LvQsNCy0L3QvtC5ICovCmZ1bmN0aW9uIG1ha2VGaXJzdGxldHRlclVwcGVyY2FzZSgkdGV4dCkgewoJCgkkZml4ZWRTdHJpbmdzID0gbWJfc3RydG9sb3dlcigkdGV4dCk7CiAgICAkc3RyaW5ncyA9IHByZWdfc3BsaXQoIi9bLiE/XSsgPy8iLCAkZml4ZWRTdHJpbmdzLCBudWxsLCBQUkVHX1NQTElUX05PX0VNUFRZKTsKCSRhcnJheSA9IFtdOwoJZm9yZWFjaCAoJHN0cmluZ3MgYXMgJHN0cmluZykgewoJJHdvcmRzID0gcHJlZ19zcGxpdCgiLyAvIiwgJHN0cmluZyk7Cgkkc2Ryb3cgPSBhcnJheV9yZXZlcnNlKCR3b3Jkcyk7CgkkZml4ZWRXb3JkcyA9IGltcGxvZGUoIiAiLCAkc2Ryb3cpOwoJJGFycmF5W10gPSAkZml4ZWRXb3JkczsgCgl9CgkkYXJyYXkyID0gW107Cglmb3JlYWNoICgkYXJyYXkgYXMgJHN0cmluZykgewoJCSRmaXJzdExldHRlciA9IG1iX3N1YnN0cigkc3RyaW5nLCAwLCAxKTsKCSR1cHBlckxldHRlciA9IG1iX3N0cnRvdXBwZXIoJGZpcnN0TGV0dGVyKTsKICAgICRyZXN0TGV0dGVycyA9IG1iX3N1YnN0cigkc3RyaW5nLCAxKTsKCSRmaXhlZFN0cmluZyA9ICR1cHBlckxldHRlciAuICRyZXN0TGV0dGVycyAuICIuIjsKCSRhcnJheTJbXSA9ICRmaXhlZFN0cmluZzsKCX0KCSAgICAgIHJldHVybiAkZml4ZWRUZXh0ID0gaW1wbG9kZSgiICIsICRhcnJheTIpOwoJCQp9CiAKZnVuY3Rpb24gbWFrZVlvZGFTdHlsZVRleHQoJHRleHQpIHsKCSR0ZXh0ID0gbWFrZUZpcnN0bGV0dGVyVXBwZXJjYXNlKCR0ZXh0KTsKICAgICRzdHJpbmdzID0gcHJlZ19zcGxpdCgiL1suIT9dKyA/LyIsICR0ZXh0LCBudWxsLCBQUkVHX1NQTElUX05PX0VNUFRZKTsKCSRhcnJheSA9IFtdOwoJZm9yZWFjaCAoJHN0cmluZ3MgYXMgJHN0cmluZykgewoJCSRmaXhlZFN0cmluZyA9IHByZWdfcmVwbGFjZSgiL1s7OixdLyIsICIiLCAkc3RyaW5nKTsKCQkkYXJyYXlbXSA9ICRmaXhlZFN0cmluZzsKCX0KICAgICAgICAkZml4ZWRUZXh0ID0gaW1wbG9kZSgiLiAiLCAkYXJyYXkpOwoJICAgIHJldHVybiAkZml4ZWRUZXh0ID0gcHJlZ19yZXBsYWNlKCIvKFvQsC3Rj9GR0JAt0K/QgWEtekEtWl0rKSQvIiwgIiQxLiIsICRmaXhlZFRleHQpOwoKCQoJfQogCiR5b2RhVGV4dCA9IG1ha2VZb2RhU3R5bGVUZXh0KCR0ZXh0KTsKZWNobyAi0JnQvtC00LAg0LPQvtCy0L7RgNC40YI6IHskeW9kYVRleHR9XG4iOw==