fork download
  1. <?php
  2.  
  3.  
  4. $text = "ну что. не смотрел еще black mesa.я собирался скачать ,но все как-то некогда было.";
  5. // Для тестов
  6. $text1 = "roses are red,and violets are blue.whatever you do i'll keep it for you.";
  7. $text2 = 'привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница.';
  8. function makeFirstLetterUppercase($text) {
  9. $sent = preg_split("/\\./", $text, 0, PREG_SPLIT_NO_EMPTY);
  10. foreach ($sent as $number => $sentence) {
  11. $newSentence = preg_replace("/\\s*([,!?])\\s?/u", "$1 ", $sentence); //знаки препинания
  12. $newSentence = preg_replace("/\\s{2,}/u", ' ', $newSentence); //повторяющийся пробел
  13. if ($number != 0 && mb_substr($newSentence, 0, 1) != " ") {
  14. $newSentence = " " . $newSentence;
  15. }
  16. if ($number == 0) {
  17. $firstLeter = mb_strtoupper(mb_substr($newSentence, 0,1));
  18. } else {
  19. $firstLeter = mb_strtoupper(mb_substr($newSentence, 1,1));
  20. }
  21. $newSentence = preg_replace("/^\\s?[а-яa-z]/u", "{$firstLeter}", $newSentence);
  22. if ($number != 0 && mb_substr($newSentence, 0, 1) != " ") {
  23. $newSentence = " " . $newSentence;
  24. }
  25. $newText = $newText . $newSentence . ".";
  26. }
  27. return $newText;
  28. }
  29. $newText = makeFirstLetterUppercase($text);
  30. echo "{$newText}\n";
  31. $newText = makeFirstLetterUppercase($text1);
  32. echo "{$newText}\n";
  33. $newText = makeFirstLetterUppercase($text2);
  34. echo "{$newText}\n";
Success #stdin #stdout #stderr 0.04s 52480KB
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, не понимаю, в чем между ними разница.
stderr
PHP Notice:  Undefined variable: newText in /home/YqnRMk/prog.php on line 27
PHP Notice:  Undefined variable: newText in /home/YqnRMk/prog.php on line 27
PHP Notice:  Undefined variable: newText in /home/YqnRMk/prog.php on line 27