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