3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); mb_internal_encoding('utf-8'); // $text = "ну что. не смотрел еще black mesa.я собирался скачать ,но все как-то некогда было."; // Для тестов // $text = "roses are red,and violets are blue.whatever you do i'll keep it for you."; // $text = "привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница."; $text = "много их в Петербурге,молоденьких дур,сегодня в атласе да бархате,а завтра , поглядишь , метут улицу вместе с голью кабацкою...в самом деле ,что было бы с нами ,если бы вместо общеудобного правила:чин чина почитай , ввелось в употребление другое,например:ум ума почитай?какие возникли бы споры!"; /* Делает первую букву в строке заглавной */ function makeFirstLetterUppercase(string $part) { return mb_strtoupper(mb_substr($part, 0, 1)).mb_substr($part, 1); } /* исправляет текст */ function fixText(string $text) { $parts = preg_split('/(?<=[.!?])+[ ]*(?=\\w)/ui', $text); foreach($parts as &$part){ $part = makeFirstLetterUppercase($part); $part = preg_replace('/[ ]*([,.;:!?]+)[ ]*/ui', '$1 ', $part); } return implode("", $parts); } $result = fixText($text); echo "{$result}\n";

preferences:
39.82 ms | 402 KiB | 5 Q