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";
Output for 7.1.25 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
Много их в Петербурге, молоденьких дур, сегодня в атласе да бархате, а завтра, поглядишь, метут улицу вместе с голью кабацкою... В самом деле, что было бы с нами, если бы вместо общеудобного правила: чин чина почитай, ввелось в употребление другое, например: ум ума почитай? Какие возникли бы споры!

preferences:
88.38 ms | 409 KiB | 5 Q