fork download
  1. <?php
  2.  
  3.  
  4. $text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";
  5. // Другие варианты для тестов
  6. // $text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила.";
  7. // $text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей.";
  8.  
  9. /* Делает первую букву предложения заглавной */
  10. function makeFirstletterUppercase($text) {
  11.  
  12. $fixedStrings = mb_strtolower($text);
  13. $strings = preg_split("/[.!?]+ ?/", $fixedStrings, null, PREG_SPLIT_NO_EMPTY);
  14. $array = [];
  15. foreach ($strings as $string) {
  16. $words = preg_split("/ /", $string);
  17. $sdrow = array_reverse($words);
  18. $fixedWords = implode(" ", $sdrow);
  19. $array[] = $fixedWords;
  20. }
  21. $array2 = [];
  22. foreach ($array as $string) {
  23. $firstLetter = mb_substr($string, 0, 1);
  24. $upperLetter = mb_strtoupper($firstLetter);
  25. $restLetters = mb_substr($string, 1);
  26. $fixedString = $upperLetter . $restLetters . ".";
  27. $array2[] = $fixedString;
  28. }
  29. return $fixedText = implode(" ", $array2);
  30.  
  31. }
  32.  
  33. function makeYodaStyleText($text) {
  34. $text = makeFirstletterUppercase($text);
  35. $strings = preg_split("/[.!?]+ ?/", $text, null, PREG_SPLIT_NO_EMPTY);
  36. $array = [];
  37. foreach ($strings as $string) {
  38. $fixedString = preg_replace("/[;:,]/", "", $string);
  39. $array[] = $fixedString;
  40. }
  41. $fixedText = implode(". ", $array);
  42. return $fixedText = preg_replace("/([а-яёА-ЯЁa-zA-Z]+)$/", "$1.", $fixedText);
  43.  
  44.  
  45. }
  46.  
  47. $yodaText = makeYodaStyleText($text);
  48. echo "Йода говорит: {$yodaText}\n";
Runtime error #stdin #stdout #stderr 0.02s 23360KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
PHP Fatal error:  Uncaught Error: Call to undefined function mb_internal_encoding() in /home/Nz8Xc3/prog.php:4
Stack trace:
#0 {main}
  thrown in /home/Nz8Xc3/prog.php on line 4