fork download
  1. <?php
  2.  
  3.  
  4. $text = "ну что. не смотрел еще black mesa.я собирался скачать ,но все как-то некогда было.";
  5. // Для тестов
  6. //$text = "roses are red,and violets are blue.whatever you do i'll keep it for you.";
  7. //$text = 'привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница.';
  8.  
  9.  
  10.  
  11. /* Делает первую букву в строке заглавной */
  12. function makeFirstLetterUppercase($text)
  13. {
  14. // Разбиваем текст на предложения
  15. $explode = preg_split("/[.?!]/u", $text, 0, PREG_SPLIT_NO_EMPTY);
  16. $characters = array();
  17. foreach ($explode as $suggestions) {
  18. $i = $i + 1;
  19. // Удаляем пробелы из начала строки
  20. $suggestions = trim($suggestions);
  21. // Разбиваем текст на буквы (у каждого предложения свой массив)
  22. $characters[$i] = preg_split('//u', $suggestions, 0, PREG_SPLIT_NO_EMPTY);
  23. foreach ($characters[$i] as $letters) {
  24. // В каждом массиве изменяем регистр первого элемента массива (букву)
  25. $characters[$i][0] = mb_strtoupper($characters[$i][0]);
  26. }
  27. // Собираем буквы в предложения
  28. $comma_separated = implode("", $characters[$i]);
  29. // Собираем предложения в текст и возвращаем точки
  30. $edit = $edit . "{$comma_separated}.";
  31. $text = $edit;
  32. }
  33.  
  34. $result = fixText($text);
  35. return ($result);
  36. }
  37.  
  38. /* исправляет текст */
  39. function fixText($text)
  40. {
  41. // Удаляем лишние пробелы перед !?,.
  42. $text = preg_replace('/([a-zа-яё]+)([\\s]+)([!?,.]+)/ui', '$1$3', $text);
  43. // Добавляем пробел после !?,.
  44. $text = preg_replace('/([?!.,]+)([a-zа-яё]+)/ui', '$1 $2', $text);
  45. return ($text);
  46. }
  47.  
  48. $result = makeFirstLetterUppercase($text);
  49. echo "{$result}\n";
Success #stdin #stdout #stderr 0.03s 52480KB
stdin
Standard input is empty
stdout
Ну что. Не смотрел еще black mesa. Я собирался скачать, но все как-то некогда было.
stderr
PHP Notice:  Undefined variable: i in /home/PliiFP/prog.php on line 20
PHP Notice:  Undefined variable: edit in /home/PliiFP/prog.php on line 32