fork(2) download
  1. <?php
  2.  
  3.  
  4. //$text = "ну что. не смотрел еще black mesa. я собирался скачать ,но все как-то некогда было.";
  5. // Для тестов
  6. $text = 'roses are red , nd violets are blue . whatever you do i\'ll keep it for you.';
  7. //$text = 'привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница.';
  8.  
  9. /* Делает первую букву в строке заглавной */
  10. function makeFirstLetterUppercase($text) {
  11. $output = array ();
  12. //$space = explode('.', $text);
  13. $text = preg_replace('/\.[\s]*(\w)/u', '. $1', $text);
  14. $text = preg_replace('/(\w)\.(\w)/u', '$1. $2', $text);
  15. $text = preg_replace('/(\w)\,(\w)/u', '$1, $2', $text);
  16. $text = preg_replace('/(\w)[\s?]*\,[\s?]*(\w)/u', '$1, $2', $text);
  17. $text = explode('.', $text);
  18.  
  19. foreach ($text as $key => $value) {
  20. $word=trim($value);
  21. $firstLetter = mb_substr($word, 0, 1);
  22. $firstLetter = mb_strtoupper($firstLetter);
  23. $word = mb_substr($word, 1);
  24. $word = $firstLetter.$word;
  25. array_push($output, $word);
  26.  
  27. }
  28. return $output;
  29. }
  30.  
  31. /* исправляет текст */
  32. function fixText($text) {
  33. $output = makeFirstLetterUppercase($text);
  34. $text = implode(". ", $output);
  35. return $text;
  36.  
  37. }
  38.  
  39. $result = fixText($text);
  40. echo "{$result}\n";
Success #stdin #stdout 0.03s 52480KB
stdin
Standard input is empty
stdout
Roses are red, nd violets are blue. Whatever you do i'll keep it for you.