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