<?php
//Yoda sp33k
//$text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!";
//Обнаружили нас кажется. Поздно не пока отсюда уходить срочно надо. Скорее же бежим.
// Другие варианты для тестов
// $text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
$text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей." ;
/* Делает первую букву предложения заглавной */
function makeFirstletterUppercase( $text ) {
/* Сделай сам */
$letters = preg_split ( "//u" , $text ,- 1 , PREG_SPLIT_NO_EMPTY
) ; return $sentence ;
}
function makeYodaStyleText( $text ) {
$result = '' ;
$regExp = "/[.?!]/u" ;
$sentences = preg_split ( $regExp , $text , - 1 , PREG_SPLIT_NO_EMPTY
) ;
foreach ( $sentences as $sentence ) {
$words = preg_split ( "/\b/ui" , $sentence , - 1 , PREG_SPLIT_NO_EMPTY
) ; $reversed [ 0 ] = makeFirstletterUppercase( $reversed [ 0 ] ) ;
$sentence = implode ( '' , $reversed ) ; $sentence .= ". " ;
$result .= $sentence ;
}
return $result ;
/* Сделай сам */
}
$yodaText = makeYodaStyleText( $text ) ;
echo "Йода говорит: {$yodaText} \n " ;
PD9waHAKCgovL1lvZGEgc3AzM2sKZXJyb3JfcmVwb3J0aW5nKC0xKTsKbWJfaW50ZXJuYWxfZW5jb2RpbmcoJ3V0Zi04Jyk7CgovLyR0ZXh0ID0gItCa0LDQttC10YLRgdGPLCDQvdCw0YEg0L7QsdC90LDRgNGD0LbQuNC70LghINCd0LDQtNC+INGB0YDQvtGH0L3QviDRg9GF0L7QtNC40YLRjCDQvtGC0YHRjtC00LAsINC/0L7QutCwINC90LUg0L/QvtC30LTQvdC+LiDQkdC10LbQuNC8INC20LUg0YHQutC+0YDQtdC1ISI7Ci8v0J7QsdC90LDRgNGD0LbQuNC70Lgg0L3QsNGBINC60LDQttC10YLRgdGPLiDQn9C+0LfQtNC90L4g0L3QtSDQv9C+0LrQsCDQvtGC0YHRjtC00LAg0YPRhdC+0LTQuNGC0Ywg0YHRgNC+0YfQvdC+INC90LDQtNC+LiDQodC60L7RgNC10LUg0LbQtSDQsdC10LbQuNC8LgovLyDQlNGA0YPQs9C40LUg0LLQsNGA0LjQsNC90YLRiyDQtNC70Y8g0YLQtdGB0YLQvtCyCi8vICR0ZXh0ID0gItCd0YMsINC/0YDQvtGB0YLQuCDQvNC10L3RjyEg0J3QtSDRhdC+0YLQtdC70LAg0Y8g0YLQtdCx0LUg0LfQu9CwINGB0LTQtdC70LDRgtGMOyDQtNCwINCyINGB0LXQsdC1INC90LUg0LLQvtC70YzQvdCwINCx0YvQu9CwLiDQp9GC0L4g0LPQvtCy0L7RgNC40LvQsCwg0YfRgtC+INC00LXQu9Cw0LvQsCwg0YHQtdCx0Y8g0L3QtSDQv9C+0LzQvdC40LvQsC4iOwogJHRleHQgPSAi0JjQtNC10YIg0LPRgNCw0LbQtNCw0L3RgdC60LDRjyDQstC+0LnQvdCwLiDQmtC+0YHQvNC40YfQtdGB0LrQuNC1INC60L7RgNCw0LHQu9C4INC/0L7QstGB0YLQsNC90YbQtdCyLCDQvdCw0L3QvtGB0Y/RidC40LUg0YPQtNCw0YAg0YEg0YLQsNC50L3QvtC5INCx0LDQt9GLLCDQvtC00LXRgNC20LDQu9C4INC/0LXRgNCy0YPRjiDQv9C+0LHQtdC00YMsINCyINGB0YXQstCw0YLQutC1INGB0L4g0LfQu9C+0LLQtdGJ0LXQuSDQk9Cw0LvQsNC60YLQuNGH0LXRgdC60L7QuSDQmNC80L/QtdGA0LjQtdC5LiI7CgovKiDQlNC10LvQsNC10YIg0L/QtdGA0LLRg9GOINCx0YPQutCy0YMg0L/RgNC10LTQu9C+0LbQtdC90LjRjyDQt9Cw0LPQu9Cw0LLQvdC+0LkgKi8KZnVuY3Rpb24gbWFrZUZpcnN0bGV0dGVyVXBwZXJjYXNlKCR0ZXh0KSB7CiAgICAvKiDQodC00LXQu9Cw0Lkg0YHQsNC8ICovCiAgICAkbGV0dGVycyA9IHByZWdfc3BsaXQoIi8vdSIsICR0ZXh0LC0xLFBSRUdfU1BMSVRfTk9fRU1QVFkpOwoJJGxldHRlcnNbMF0gPSBtYl9zdHJ0b3VwcGVyKCRsZXR0ZXJzWzBdKTsKCSRzZW50ZW5jZSA9IGltcGxvZGUoJycsJGxldHRlcnMpOwogICAgcmV0dXJuICAkc2VudGVuY2U7Cn0KCmZ1bmN0aW9uIG1ha2VZb2RhU3R5bGVUZXh0KCR0ZXh0KSB7CiAgICAKICAgICRyZXN1bHQgPSAnJzsKICAgIAogICAgJHJlZ0V4cCA9ICIvWy4/IV0vdSI7CiAgIAogICAgJHNlbnRlbmNlcyA9IHByZWdfc3BsaXQoJHJlZ0V4cCwgJHRleHQsIC0xLCBQUkVHX1NQTElUX05PX0VNUFRZKTsKICAgIAogICAgZm9yZWFjaCAoJHNlbnRlbmNlcyBhcyAkc2VudGVuY2UpewoKICAgIAkkc2VudGVuY2UgPSBwcmVnX3JlcGxhY2UgKCIvKF4gKil8Wyw7Ol0vdSIsICIiLCAkc2VudGVuY2UpOwogICAgCSR3b3JkcyA9IHByZWdfc3BsaXQoIi9cYi91aSIsICRzZW50ZW5jZSwgLTEsIFBSRUdfU1BMSVRfTk9fRU1QVFkpOwogICAgCSR3b3Jkc1swXSA9IG1iX3N0cnRvbG93ZXIoJHdvcmRzWzBdKTsKICAgIAkkcmV2ZXJzZWQgPSBhcnJheV9yZXZlcnNlKCR3b3Jkcyk7CiAgICAJJHJldmVyc2VkWzBdID0gbWFrZUZpcnN0bGV0dGVyVXBwZXJjYXNlKCRyZXZlcnNlZFswXSk7CiAgICAJJHNlbnRlbmNlID0gaW1wbG9kZSgnJywgJHJldmVyc2VkKTsKICAgIAkkc2VudGVuY2UgLj0gIi4gIjsKICAgIAkkcmVzdWx0IC49ICRzZW50ZW5jZTsKICAgIH0KICAgIAogICAgcmV0dXJuICRyZXN1bHQ7CgogICAgLyog0KHQtNC10LvQsNC5INGB0LDQvCAqLwp9CgokeW9kYVRleHQgPSBtYWtlWW9kYVN0eWxlVGV4dCgkdGV4dCk7CmVjaG8gItCZ0L7QtNCwINCz0L7QstC+0YDQuNGCOiB7JHlvZGFUZXh0fVxuIjsKCg==