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