fork(1) download
  1. <?php
  2.  
  3.  
  4. $text = "ну что. не смотрел еще black mesa.я собирался скачать ,но все как-то некогда было.";
  5. //$text = "roses are red,and violets are blue.whatever you do i'll keep it for you.";
  6. //$text = 'привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница.';
  7.  
  8. function trim_value($value) //функция для удаления пробелов
  9. {
  10. $value = trim($value);
  11. return($value);
  12. }
  13.  
  14. function makeFirstLetterUppercase($parts) { //функция которая делает буквы заглавными
  15. $letters = mb_substr($parts, 0, 1);
  16. $upLetters = mb_strtoupper($letters);
  17. $parts = mb_substr($parts, 1);
  18. $parts = $upLetters . $parts;
  19. return $parts;
  20. }
  21.  
  22. function fixText($fixedText) { //фиксит текст регуляркой - правильные пробелы
  23. $regexp = '/( *)([,.;:])( *)/';
  24. $fixedText = preg_replace($regexp, '$2 ', $fixedText);
  25. return $fixedText;
  26. }
  27. $regexp1 = '/[.!?]/';
  28. $parts = preg_split($regexp1, $text, 0, PREG_SPLIT_NO_EMPTY); //разбиваем текст на предложения
  29. $parts = array_map("trim_value", $parts);
  30. $parts = array_map("makeFirstLetterUppercase", $parts);
  31. $newText = implode(". ", $parts); //объединение предложений в строку
  32. $result = fixText($newText);
  33. echo "$result\n";
  34.  
  35.  
Success #stdin #stdout 0.01s 24144KB
stdin
Standard input is empty
stdout
array(3) {
  [0]=>
  string(11) "Ну что"
  [1]=>
  string(37) "Не смотрел еще black mesa"
  [2]=>
  string(86) "Я собирался скачать  ,но все как-то некогда было"
}
Ну что. Не смотрел еще black mesa. Я собирался скачать, но все как-то некогда было