fork(1) download
  1. <?php
  2.  
  3.  
  4. $text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!";
  5.  
  6. $text1 = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
  7. $text2 = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";
  8.  
  9. /* Делает первую букву предложения заглавной */
  10. function makeFirstletterUppercase($text) {
  11. return mb_strtoupper(mb_substr($text, 0, 1)) . mb_substr($text, 1);
  12. }
  13.  
  14. function makeYodaStyleText($text) {
  15. $string = "";
  16. $text = str_replace(',', '', $text);//Удаляем запятые
  17. $sentences = preg_split('/[.!?]/u', $text, 0, PREG_SPLIT_NO_EMPTY);//Разделяем на предложения
  18. foreach($sentences as $sentence){
  19. $words = preg_split('/\\s/ui', $sentence, 0, PREG_SPLIT_NO_EMPTY);//Разделяем на слова
  20. $reverse = array_reverse($words);//Переворачиваем массив
  21. $implode = implode(" ", $reverse);//Соединяем массив слов обратно в предложение
  22. $implode = trim($implode). '. ';//Убираем пробел и добавляем точку в конце предложений
  23. $lowLetters = mb_strtolower($implode);//Делаем все буквы маленькими
  24. $upperCase = makeFirstletterUppercase($lowLetters);//Делаем заглавные буквы
  25. $string.= $upperCase;//Соединяем предложения
  26. }
  27. return $string;
  28. }
  29.  
  30. $yodaText = makeYodaStyleText($text);
  31. echo "Йода говорит: {$yodaText}\n";
  32. $yodaText1 = makeYodaStyleText($text1);
  33. echo "Йода говорит: {$yodaText1}\n";
  34. $yodaText2 = makeYodaStyleText($text2);
  35. echo "Йода говорит: {$yodaText2}\n";
Success #stdin #stdout 0.02s 52432KB
stdin
Standard input is empty
stdout
Йода говорит: Обнаружили нас кажется. Поздно не пока отсюда уходить срочно надо. Скорее же бежим. 
Йода говорит: Меня прости ну. Была вольна не себе в да сделать; зла тебе я хотела не. Помнила не себя делала что говорила что. 
Йода говорит: Война гражданская идет. Империей галактической зловещей со схватке в победу первую одержали базы тайной с удар наносящие повстанцев корабли космические.