fork(1) download
  1. <?php
  2.  
  3.  
  4. $text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее";
  5. $text1 = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
  6. $text2 = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";
  7.  
  8. function makeUpperCase($str) {
  9. $firstLetterUpper = mb_strtoupper(mb_substr($str, 0, 1));
  10. $str = preg_replace('/^[а-яё]/u', $firstLetterUpper, $str);
  11. return $str;
  12. }
  13.  
  14. function makeLowerCase($str) {
  15. $firstLetterLower = mb_strtolower(mb_substr($str, 0, 1));
  16. $str = preg_replace('/^[А-ЯЁ]/u', $firstLetterLower, $str);
  17. return $str;
  18. }
  19.  
  20. function makeYodaStyleText($str) {
  21. $textSentences = [];
  22. $textSentences = preg_split('/(?<=[!.?][ ])/u', $str);
  23. $sentenceWords = [];
  24. foreach($textSentences as $keySentence => $sentence) {
  25. $textSentences[$keySentence] = makeLowerCase($textSentences[$keySentence]);
  26. }
  27. foreach($textSentences as $keySentence => $sentence) {
  28. $sentenceWords[$keySentence] = preg_split('/[,;]? |[.!?]/u' ,$sentence, -1, PREG_SPLIT_NO_EMPTY);
  29. $sentenceWords[$keySentence] = array_reverse($sentenceWords[$keySentence]);
  30. $textSentences[$keySentence] = implode(' ', $sentenceWords[$keySentence]);
  31. $textSentences[$keySentence] = makeUpperCase($textSentences[$keySentence]);
  32. }
  33. $result = implode('. ', $textSentences);
  34. $result = $result.".";
  35. return $result;
  36. }
  37.  
  38. $yodaText = makeYodaStyleText($text);
  39. $yodaText1 = makeYodaStyleText($text1);
  40. $yodaText2 = makeYodaStyleText($text2);
  41. echo "$yodaText\n$yodaText1\n$yodaText2";
  42.  
Success #stdin #stdout 0.03s 25728KB
stdin
Standard input is empty
stdout
Обнаружили нас кажется. Поздно не пока отсюда уходить срочно надо. Скорее же бежим.
Меня прости ну. Была вольна не себе в да сделать зла тебе я хотела не. Помнила не себя делала что говорила что.
Война гражданская идет. Империей Галактической зловещей со схватке в победу первую одержали базы тайной с удар наносящие повстанцев корабли космические.