fork download
  1. <?php
  2.  
  3.  
  4. //$text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!";
  5. //$text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
  6. $text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";
  7.  
  8. /* Делает первую букву предложения заглавной */
  9. function makeFirstletterUppercase($text) {
  10. $partOne = mb_strtoupper(mb_substr($text, 0, 1));
  11. $partTwo = mb_strtolower(mb_substr($text,1));
  12. return $partOne . $partTwo;
  13. }
  14.  
  15. function makeYodaStyleText($text) {
  16. $result = '';
  17. $phrase = preg_split("/[.!?;]/u" , $text, 0, PREG_SPLIT_NO_EMPTY);
  18. foreach ($phrase as $sent) {
  19. $reverseSent = implode(" ", array_reverse(preg_split("/[ ]/u" , $sent, 0, PREG_SPLIT_NO_EMPTY)));
  20. $newSent = makeFirstletterUppercase($reverseSent);
  21. $newSent = preg_replace("/,/u", '', $newSent);
  22. $result .= $newSent . ". ";
  23. }
  24. return $result;
  25. }
  26.  
  27. $yodaText = makeYodaStyleText($text);
  28. echo "Йода говорит: {$yodaText}\n";
  29.  
  30.  
Success #stdin #stdout 0.02s 52472KB
stdin
Standard input is empty
stdout
Йода говорит: Война гражданская идет. Империей галактической зловещей со схватке в победу первую одержали базы тайной с удар наносящие повстанцев корабли космические.