fork download
  1. <?php
  2.  
  3. /**
  4.  * 28.04.2015 (9:45)
  5.  * Shift.php
  6.  * PhpStorm
  7.  */
  8.  
  9. header("Content-Type: text/plain; charset=utf-8");
  10.  
  11. // $sentence = "ну что. не смотрел еще black mesa.я собирался скачать ,но все как-то некогда было. Но, все OK";
  12. $sentence = "roses are red,and violets are blue.whatever you do i'll keep it for you.";
  13. // $sentence = "привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница.";
  14.  
  15. /* Делает первую букву в строке заглавной */
  16. function makeFirstLetterUppercase($text)
  17. {
  18. $firstLetter = mb_substr($text, 0, 1);
  19. $firstLetter = mb_strtoupper($firstLetter);
  20. $otherLetters = mb_substr($text, 1);
  21. $text = $firstLetter . $otherLetters;
  22. return $text;
  23. }
  24.  
  25. /* исправляет текст */
  26. function fixText($text)
  27. {
  28. $result = '';
  29. $regexp = '![.]!u';
  30. $regexpRemoveSpace = '/(\s+[,!\.\?]|[,!\.\?][^\s])/u';
  31. $parts = preg_split($regexp, $text, 0, PREG_SPLIT_NO_EMPTY);
  32. foreach ($parts as $key => $sentence) {
  33. $sentence = trim($sentence);
  34. $sentence = makeFirstLetterUppercase($sentence);
  35. if ($key > 0) {
  36. $result = $result . ". " . $sentence;
  37. } else {
  38. $result .= $sentence;
  39. }
  40. }
  41. $result = preg_replace($regexpRemoveSpace, ', ', $result);
  42. return $result . ".";
  43. }
  44.  
  45. $result = fixText($sentence);
  46.  
  47. echo "{$result}\n";
  48.  
Success #stdin #stdout 0.02s 24144KB
stdin
Standard input is empty
stdout
Roses are red, nd violets are blue. Whatever you do i'll keep it for you.