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