fork download
  1. <?php
  2.  
  3.  
  4. $text1 = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!";
  5. $text2 = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
  6. $text3 = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";
  7.  
  8. /* Делает первую букву предложения заглавной */
  9. function makeFirstLetterUppercase($text) {
  10. $array = preg_split("/ *[.!?] */", $text, null, PREG_SPLIT_NO_EMPTY);
  11. foreach($array as $key => $value){
  12. $firstLetter = mb_strtoupper(mb_substr($value, 0, 1));
  13. $replace = " ".$firstLetter.mb_substr($value, 1);
  14. $text = preg_replace("/ *$value */u", $replace, $text);
  15. }
  16. return ltrim($text);
  17. }
  18.  
  19. function makeYodaStyleText($text) {
  20. $end = "";
  21. $result = "";
  22. $text = mb_strtolower($text);
  23. $sentences = preg_split("/ *[.!?] */", $text, null, PREG_SPLIT_NO_EMPTY);
  24. foreach($sentences as $key => $sentence){
  25. $words = preg_split("/ *[,; ] */", $sentence, null, PREG_SPLIT_NO_EMPTY);
  26. shuffle($words);
  27. foreach($words as $key => $word){
  28. $result = $result." ".$word;
  29. }
  30. $end = $end.$result.".";
  31. unset($result);
  32. }
  33. return ltrim($end);
  34. }
  35.  
  36. $yodaText = makeYodaStyleText($text1);
  37. $yodaText = makeFirstLetterUppercase($yodaText);
  38. echo "Йода говорит: {$yodaText}\n";
  39. $yodaText = makeYodaStyleText($text2);
  40. $yodaText = makeFirstLetterUppercase($yodaText);
  41. echo "Йода говорит: {$yodaText}\n";
  42. $yodaText = makeYodaStyleText($text3);
  43. $yodaText = makeFirstLetterUppercase($yodaText);
  44. echo "Йода говорит: {$yodaText}\n";
  45.  
Success #stdin #stdout #stderr 0.01s 20520KB
stdin
Standard input is empty
stdout
Йода говорит: Обнаружили кажется нас. Поздно надо отсюда уходить пока не срочно. Скорее же бежим.
Йода говорит: Прости меня ну. В сделать не тебе да зла была вольна себе я хотела не. Не делала что помнила что говорила себя.
Йода говорит: Война гражданская идет. Зловещей повстанцев корабли победу наносящие империей одержали в галактической базы первую с удар схватке со тайной космические.
stderr
PHP Notice:  Undefined variable: result in /home/84LAYH/prog.php on line 30
PHP Notice:  Undefined variable: result in /home/84LAYH/prog.php on line 30
PHP Notice:  Undefined variable: result in /home/84LAYH/prog.php on line 30
PHP Notice:  Undefined variable: result in /home/84LAYH/prog.php on line 30
PHP Notice:  Undefined variable: result in /home/84LAYH/prog.php on line 30