fork(1) download
  1. <?php
  2.  
  3.  
  4. $text1 = "ну что. не смотрел еще black mesa?я собирался скачать ,но все как-то некогда было!";
  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. $text4 = "много их в Петербурге,молоденьких дур,сегодня в атласе да бархате,а завтра , поглядишь , метут улицу вместе с
  8. голью кабацкою...в самом деле ,что было бы с нами ,если бы вместо общеудобного правила:чин чина почитай , ввелось в
  9. употребление другое,например:ум ума почитай?какие возникли бы споры!";
  10.  
  11. /**
  12.  * @param array<string> $text
  13.  */
  14. function makeFirstCharUpperCase(array $text): string
  15. {
  16. $result = '';
  17. foreach ($text as $string) {
  18. $string = trim($string);
  19. $upperChar = mb_strtoupper(mb_substr($string, 0, 1));
  20. $result .= $upperChar . mb_substr($string, 1);
  21. }
  22. return $result;
  23. }
  24.  
  25. function fixText(string $text): ?string
  26. {
  27. $text = preg_split('/(?<=[.!?])(?=[\w\s])/u', $text, -1, PREG_SPLIT_NO_EMPTY);
  28. $sentences = makeFirstCharUpperCase($text); /** @phpstan-ignore-line */
  29. return preg_replace(
  30. ['/\s\s+/', '/\s([.,:;!?])/', '/([.,:;!?])(\w)/u'],
  31. [' ', '$1', '$1 $2'],
  32. $sentences
  33. );
  34. }
  35.  
  36. echo fixText($text1) . "<br>";
  37. echo fixText($text2) . "<br>";
  38. echo fixText($text3) . "<br>";
  39. echo fixText($text4) . "<br>";
  40.  
Success #stdin #stdout 0.02s 26344KB
stdin
Standard input is empty
stdout
Ну что. Не смотрел еще black mesa? Я собирался скачать, но все как-то некогда было!<br>Roses are red, and violets are blue. Whatever you do I'll keep it for you.<br>Привет. Есть 2 функции, preg_split и explode, не понимаю, в чем между ними разница.<br>Много их в Петербурге, молоденьких дур, сегодня в атласе да бархате, а завтра, поглядишь, метут улицу вместе с голью кабацкою... В самом деле, что было бы с нами, если бы вместо общеудобного правила: чин чина почитай, ввелось в употребление другое, например: ум ума почитай? Какие возникли бы споры!<br>