fork(4) download
  1. <?php
  2.  
  3.  
  4. $text = 'вася упал на кровать. и пошел гуять. гулять во сне,но не круто как-то это все было;такие дела.';
  5.  
  6. function letterToUpper($text)
  7. /* Функция для того, что бы делать первую букву предложения заглавной.*/
  8. {
  9. $text = preg_split('/\\./u', $text);
  10. foreach ($text as &$value){
  11. $upperlatter = preg_split('//u', $value, -1, PREG_SPLIT_NO_EMPTY);
  12. if ($upperlatter[0] == ' ') {
  13. $upperlatter[1] = mb_strtoupper($upperlatter[1]);
  14. } else {
  15. $upperlatter[0] = mb_strtoupper($upperlatter[0]);
  16. }
  17. $upperlatter[] = '.';
  18. $value = implode('', $upperlatter);
  19. }
  20. $text = implode('', $text);
  21. return $text;
  22. }
  23.  
  24. function fixText($text)
  25. {
  26. $regexp = '/\\s+(,|;|?|!)\\s+/u';
  27.  
  28. $sentenses = preg_split('/\\./', letterToUpper($text), -1, PREG_SPLIT_NO_EMPTY);
  29. print_r($sentenses);
  30. foreach ($sentenses as &$value) {
  31. $value = preg_replace($regexp, '$1 ', $value);
  32. }
  33. $text = implode('', $sentenses);
  34. return $text;
  35. }
  36.  
  37. echo fixText($text);
  38.  
  39. ?>
Success #stdin #stdout #stderr 0.01s 20520KB
stdin
Standard input is empty
stdout
Array
(
    [0] => Вася упал на кровать
    [1] =>  И пошел гуять
    [2] =>  Гулять во сне,но не круто как-то это все было;такие дела
)
stderr
PHP Notice:  Undefined offset: 0 in /home/SvJnqS/prog.php on line 14
PHP Notice:  Undefined offset: 0 in /home/SvJnqS/prog.php on line 17
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 8 in /home/SvJnqS/prog.php on line 33
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 8 in /home/SvJnqS/prog.php on line 33
PHP Warning:  preg_replace(): Compilation failed: nothing to repeat at offset 8 in /home/SvJnqS/prog.php on line 33