fork download
  1. <?php
  2.  
  3.  
  4. $text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!";
  5.  
  6. // Другие варианты для тестов
  7. // $text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
  8. // $text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";
  9.  
  10. /*
  11.   function makeFirstLetterUppercase($text) {
  12. $returnText = "";
  13. $pattern = array(
  14. "/^\w/u",
  15. "/\.\s*\w/u"
  16. );
  17. $returnText = preg_replace_callback(
  18. $pattern,
  19. function ($matches) {
  20. return mb_strtoupper($matches[0]);
  21. },
  22. $text
  23. );
  24. return $returnText;
  25.   }*/
  26.  
  27. function makeYodaStyleText($text) {
  28. //$result = '';
  29. //$yodaSentence = "";
  30. //$splitSentence = array();
  31. //$wordsSentence = array();
  32. // $pattern = "/\b[а-яА-Я-]{1,}\b/u";
  33. $splitSentence = preg_split("/[.!?;]/u", $text, -1, PREG_SPLIT_NO_EMPTY);
  34. foreach($splitSentence as $sentence){
  35. $wordsSentence = preg_split("/[\s,]+/u", $sentence, -1, PREG_SPLIT_NO_EMPTY);
  36.  
  37.  
  38. $wordsSentence = array_reverse($wordsSentence);
  39.  
  40. $yodaSentence = implode(" ", $wordsSentence);
  41.  
  42. //$yodaSentence = makeFirstLetterUppercase($yodaSentence).". ";
  43. $result = $result.$yodaSentence.". ";
  44. }var_dump($result);
  45. //return $result;
  46. }
  47.  
  48.  
  49. $yodaText = makeYodaStyleText($text);
  50. echo "Йода говорит: {$yodaText}\n";
  51. ?>
Success #stdin #stdout #stderr 0.03s 52480KB
stdin
Standard input is empty
stdout
string(152) "обнаружили нас Кажется. поздно не пока отсюда уходить срочно Надо. скорее же Бежим. "
Йода говорит: 
stderr
PHP Notice:  Undefined variable: result in /home/TwYk5B/prog.php on line 45