fork(1) download
  1. <?php
  2.  
  3. $text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!";
  4. // Другие варианты для тестов
  5. // $text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
  6. // $text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";
  7. function ReverseText ($text) { // переворачивает слова в предложении, убирает знаки препинания, ставит ! в конце предложеня
  8. $splitedText = preg_split ("/[\.\?!]+/", $text);
  9. $dumpLastElement = array_pop($splitedText);
  10. function trim_value(&$value)
  11. {
  12. $value = trim($value);
  13. }
  14. array_walk($splitedText, 'trim_value');
  15. foreach ($splitedText as $sentance) {
  16. $splitedSentance = explode (" ", $sentance);
  17. $reversed = array_reverse($splitedSentance);
  18. $reversedSentance = implode (" ", $reversed);
  19. $reversedText[] = $reversedSentance;
  20. array_walk($reversedText, ($reversedText = preg_replace("/[;:,!\?\.]/", "", $reversedText)));
  21. array_walk($reversedText, ($reversedText = preg_replace("/$/" , "!", $reversedText )));
  22. }
  23. return $reversedText;
  24. }
  25.  
  26. $flippedResult = ReverseText($text);
  27. function YodaSpeak ($flippedResult) { // делает первую букву предложения заглавной
  28. $fixedText = [];
  29. foreach ($flippedResult as $value) {
  30. $lowerCase = mb_strtolower($value);
  31. $uperCase = mb_strtoupper(mb_substr($lowerCase, 0, 1, 'UTF-8'), 'UTF-8') .
  32. mb_substr($lowerCase, 1, mb_strlen($lowerCase), 'UTF-8');
  33. array_push($fixedText, $uperCase);
  34. $yodaSpeak = implode(" ", $fixedText);
  35. }
  36. return $yodaSpeak;
  37. }
  38. $yodaText = YodaSpeak($flippedResult);
  39. echo "{$yodaText}\n";
  40.  
  41.  
Success #stdin #stdout #stderr 0.02s 52472KB
stdin
Standard input is empty
stdout
Обнаружили нас кажется! Поздно не пока отсюда уходить срочно надо! Скорее же бежим!
stderr
PHP Warning:  array_walk() expects parameter 2 to be a valid callback, array must have exactly two members in /home/hiwgjR/prog.php on line 20
PHP Warning:  array_walk() expects parameter 2 to be a valid callback, array must have exactly two members in /home/hiwgjR/prog.php on line 21
PHP Warning:  array_walk() expects parameter 2 to be a valid callback, class 'обнаружили нас Кажется' not found in /home/hiwgjR/prog.php on line 20
PHP Warning:  array_walk() expects parameter 2 to be a valid callback, class 'обнаружили нас Кажется!' not found in /home/hiwgjR/prog.php on line 21
PHP Warning:  array_walk() expects parameter 2 to be a valid callback, array must have exactly two members in /home/hiwgjR/prog.php on line 20
PHP Warning:  array_walk() expects parameter 2 to be a valid callback, array must have exactly two members in /home/hiwgjR/prog.php on line 21