fork download
  1. <?php
  2.  
  3. $text = <<<EOF
  4. ну что. не смотрел еще black mesa.я собирался скачать ,но все как-то некогда было.
  5. roses are red,and violets are blue.whatever you do i'll keep it for you.
  6. привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница.
  7. EOF
  8. ;
  9.  
  10. /* Делает первую букву в строке заглавной */
  11. function makeFirstLetterUppercase($text) {
  12.  
  13. echo "Было: {$text}\n\n";
  14.  
  15. $regexp = '/[.!?;]\\s*/u';
  16. $textArroy = preg_split($regexp, $text, -1, PREG_SPLIT_NO_EMPTY);
  17.  
  18. foreach ($textArroy as $string) {
  19.  
  20. $fc = mb_strtoupper(mb_substr($string, 0, 1));
  21. $string = $fc . mb_substr($string, 1);
  22.  
  23. if (!$result) {
  24. $result = $string . ".";
  25. } else {
  26. $result .= " " . $string . ".";
  27. }
  28. }
  29. return $result;
  30. }
  31. $text = makeFirstLetterUppercase($text);
  32.  
  33. /* исправляет текст */
  34. function fixText($text) {
  35.  
  36. $regexp = array (
  37. '/(\\s\\s+)/u',
  38. '/([,.!?;])(\S)/u',
  39. '/(\s)([,.!?;])/u'
  40. );
  41. $replace = array (
  42. ' ',
  43. '$1 $2',
  44. '$2'
  45. );
  46.  
  47. $text = preg_replace($regexp, $replace, $text);
  48. return $text;
  49. }
  50.  
  51. $result = fixText($text);
  52. echo "Стало: {$result}\n";
  53. ?>
Success #stdin #stdout #stderr 0.02s 52472KB
stdin
Standard input is empty
stdout
Было: ну что.      не смотрел еще black mesa.я собирался скачать  ,но все как-то некогда было.
roses are red,and violets are blue.whatever you do i'll keep it for you.
привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница.

Стало: Ну что. Не смотрел еще black mesa. Я собирался скачать, но все как-то некогда было. Roses are red, and violets are blue. Whatever you do i'll keep it for you. Привет. Есть 2 функции, preg_split и explode, не понимаю, в чем между ними разница.
stderr
PHP Notice:  Undefined variable: result in /home/HKS3vX/prog.php on line 24