fork(1) download
  1. <?php
  2. $text = " ну что. не смотрел еще black mesa.я собирался скачать , но все как-то, некогда было.";
  3. // Для тестов
  4. $text2 = "roses are red,and violets are blue.whatever you do i'll keep it for you.";
  5. $text3 = "привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница.";
  6. /* Делает первую букву в строке заглавной */
  7. function makeFirstLetterUppercase($text) {
  8. $suggestions = preg_split("/[.!?]/u", $text, 0, PREG_SPLIT_NO_EMPTY);
  9. foreach ($suggestions as $key => $value) {
  10. $value = trim($value);
  11. $first = mb_strtoupper(mb_substr($value, 0, 1));
  12. $last = mb_substr($value, 1);
  13. $suggestions[$key] = $first . $last . ".";
  14. }
  15. return implode(" ", $suggestions);
  16. }
  17.  
  18. /* исправляет текст */
  19. function fixText($text) {
  20. $text = preg_replace("/(\\s+)?([,.!?])(\\s+)?/u", "$2 ", $text);
  21. $text = trim($text);
  22. return makeFirstLetterUppercase($text);
  23. }
  24.  
  25. $result = fixText($text);
  26. echo "{$result}\n";
  27. $result = fixText($text2);
  28. echo "{$result}\n";
  29. $result = fixText($text3);
  30. echo "{$result}\n";
Success #stdin #stdout 0.03s 52432KB
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, не понимаю, в чем между ними разница.