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