<?php
error_reporting(-1);
mb_internal_encoding('utf-8');
$text = "много их в Петербурге,молоденьких дур,сегодня в атласе да бархате,а завтра , поглядишь , метут улицу вместе с голью кабацкою...в самом деле ,что было бы с нами ,если бы вместо общеудобного правила:чин чина почитай , ввелось в употребление другое,например:ум ума почитай?какие возникли бы споры!";
// Для тестов
// $text = 'roses are red,and violets are blue.whatever you do ill keep it for you.';
//$text = 'привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница.';
/* Делает первую букву в строке заглавной */
function makeFirstLetterUppercase($part) {
return mb_strtoupper(mb_substr($part, 0, 1)).mb_substr($part, 1);
}
/* исправляет текст */
function fixText($part) {
return preg_replace('/[ ]*([,.;:!?]{1,})[ ]*/ui', '$1 ', $part);
}
$parts = preg_split('/(?<=[.!?])+[ ]*(?=\\w)/ui', $text);
foreach($parts as &$value){
$value = makeFirstLetterUppercase( $value);
$value = fixText( $value);
}
$text = implode("", $parts);
echo $text;
Много их в Петербурге, молоденьких дур, сегодня в атласе да бархате, а завтра, поглядишь, метут улицу вместе с голью кабацкою... В самом деле, что было бы с нами, если бы вместо общеудобного правила: чин чина почитай, ввелось в употребление другое, например: ум ума почитай? Какие возникли бы споры!
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Много их в Петербурге, молоденьких дур, сегодня в атласе да бархате, а завтра, поглядишь, метут улицу вместе с голью кабацкою... В самом деле, что было бы с нами, если бы вместо общеудобного правила: чин чина почитай, ввелось в употребление другое, например: ум ума почитай? Какие возникли бы споры!