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. function makeFirstLetterUppercase($sentence) {
  11. $sentence = preg_split('//u', $sentence, -1, PREG_SPLIT_NO_EMPTY); // разбить предложение на буквы
  12. $sentence[0] = mb_strtoupper($sentence[0]); //увеличить первую букву
  13. $sentence = implode("--", $sentence); //склеить предложение из букв, implode пустым не бывает, нужно что-то вставить, иначе код ругается
  14. $regexp = "/[-][-]/";
  15. $sentence = preg_replace($regexp, "", $sentence); //заменяем вставку на пустоту
  16. var_dump($sentence); //по идее, тут всё работает правильно
  17. return $sentence;
  18. var_dump($sentence); //а вот здесь - нихуя.
  19. }
  20.  
  21. /* исправляет текст */
  22. function fixText($text) {
  23. /*вот эта часть исправна*/
  24. $regexp2 = "/(\\s){2,}/"; //находим лишние пробелы
  25. $regexp1 = "/(\\s?)([,])(\\s?)/"; //находим запятые
  26. $text = preg_replace($regexp2, "", $text); //исправляем пробелы
  27. $text = preg_replace($regexp1, "$2 ",$text);//исправляем запятые
  28.  
  29. /*а эта - не очень*/
  30. $text = explode(".", $text); /* разбить на массив из предложений */
  31. foreach ($text as $sentence) {
  32. makeFirstLetterUppercase($sentence); //функция выше
  33. var_dump($sentence); //результата нет
  34. }
  35. $text = implode(". ", $text); //склеить обратно
  36.  
  37.  
  38. return $text;
  39. }
  40.  
  41. $result = fixText($text);
  42. echo "{$result}\n";
Success #stdin #stdout #stderr 0.01s 20568KB
stdin
Standard input is empty
stdout
string(11) "Ну что"
string(11) "ну что"
string(37) "Не смотрел еще black mesa"
string(37) "не смотрел еще black mesa"
string(85) "Я собирался скачать, но все как-то некогда было"
string(85) "я собирался скачать, но все как-то некогда было"
string(0) ""
string(0) ""
ну что. не смотрел еще black mesa. я собирался скачать, но все как-то некогда было. 
stderr
PHP Notice:  Undefined offset: 0 in /home/jnIeod/prog.php on line 14