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