fork(2) download
  1. <?php
  2.  
  3.  
  4. //mb_internal_encoding('utf-8');
  5.  
  6. // Для тестов
  7. $text = "ну что. не смотрел еще black mesa.я собирался скачать ,но все как-то некогда было.";
  8. //$text = "roses are red , and violets are blue?whatever you do i'll ,keep it for you.";
  9. // $text = 'привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница.';
  10.  
  11. /* Делает первую букву в строке заглавной */
  12. function makeFirstLetterUppercase($text)
  13. {
  14. $text[0] = mb_strtoupper($text[0]);
  15. return $text;
  16. }
  17.  
  18. /* исправляет текст */
  19. function fixText($text)
  20. {
  21. $result = preg_split('/([.!?])/u', $text, 0, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
  22. foreach($result as &$sentence)
  23. {
  24. $sentence = trim($sentence);
  25. $sentence = makeFirstLetterUppercase($sentence);
  26. }
  27. //var_dump($result);
  28. $text = implode('', $result);
  29. $text = preg_replace('/ *([,:;.!?]) */u',"$1 ", $text);
  30. return $text;
  31.  
  32. }
  33.  
  34. $result = fixText($text);
  35. echo "\n$result\n";
  36.  
Success #stdin #stdout 0.01s 20520KB
stdin
Standard input is empty
stdout
ну что. не смотрел еще black mesa. я собирался скачать, но все как-то некогда было.