<?php
$text = "много их в Петербурге,молоденьких дур,сегодня в атласе да бархате,а завтра , поглядишь , метут улицу вместе с голью кабацкою...в самом деле ,что было бы с нами ,если бы вместо общеудобного правила:чин чина почитай , ввелось в употребление другое,например:ум ума почитай??какие возникли бы споры!" ;
// Для тестов
// $text = 'roses are red,and violets are blue.whatever you do i'll keep it for you.';
// $text = 'привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница.';
/* Делает первую букву в строке заглавной */
function makeFirstLetterUppercase( $str ) {
return $str ;
}
/* исправляет текст */
function fixText( $text ) {
$regexp = '/(?<=\.{3}|\.\b|\?\b|\?{2}|\!)/u' ;
$stringsArr = preg_split ( $regexp , $text , 0 , PREG_SPLIT_NO_EMPTY
) ;
foreach ( $stringsArr as $el => $value ) {
$stringsArr [ $el ] = makeFirstLetterUppercase
( trim ( $value ) ) ; }
$stringsArr = implode ( "" , $stringsArr ) ; $stringsArr = preg_replace ( '/(\s*)([,:;!]|\?[?]*|\.[.]*)(\s*)/u' , '$2 ' , $stringsArr ) ;
return $stringsArr ;
}
$result = fixText( $text ) ;
echo "{$result} \n " ;
PD9waHAKIAplcnJvcl9yZXBvcnRpbmcoLTEpOwptYl9pbnRlcm5hbF9lbmNvZGluZygndXRmLTgnKTsKIAokdGV4dCA9ICLQvNC90L7Qs9C+INC40YUg0LIg0J/QtdGC0LXRgNCx0YPRgNCz0LUs0LzQvtC70L7QtNC10L3RjNC60LjRhSDQtNGD0YAs0YHQtdCz0L7QtNC90Y8g0LIg0LDRgtC70LDRgdC1INC00LAg0LHQsNGA0YXQsNGC0LUs0LAg0LfQsNCy0YLRgNCwICwg0L/QvtCz0LvRj9C00LjRiNGMICwg0LzQtdGC0YPRgiDRg9C70LjRhtGDINCy0LzQtdGB0YLQtSDRgSDQs9C+0LvRjNGOINC60LDQsdCw0YbQutC+0Y4uLi7QsiDRgdCw0LzQvtC8INC00LXQu9C1ICzRh9GC0L4g0LHRi9C70L4g0LHRiyDRgSDQvdCw0LzQuCAs0LXRgdC70Lgg0LHRiyDQstC80LXRgdGC0L4g0L7QsdGJ0LXRg9C00L7QsdC90L7Qs9C+INC/0YDQsNCy0LjQu9CwOtGH0LjQvSDRh9C40L3QsCDQv9C+0YfQuNGC0LDQuSAsINCy0LLQtdC70L7RgdGMINCyINGD0L/QvtGC0YDQtdCx0LvQtdC90LjQtSDQtNGA0YPQs9C+0LUs0L3QsNC/0YDQuNC80LXRgDrRg9C8INGD0LzQsCDQv9C+0YfQuNGC0LDQuT8/0LrQsNC60LjQtSDQstC+0LfQvdC40LrQu9C4INCx0Ysg0YHQv9C+0YDRiyEiOwovLyDQlNC70Y8g0YLQtdGB0YLQvtCyCi8vICR0ZXh0ID0gJ3Jvc2VzIGFyZSByZWQsYW5kIHZpb2xldHMgYXJlIGJsdWUud2hhdGV2ZXIgeW91IGRvIGknbGwga2VlcCBpdCBmb3IgeW91Lic7Ci8vICR0ZXh0ID0gJ9C/0YDQuNCy0LXRgi7QtdGB0YLRjCAyINGE0YPQvdC60YbQuNC4LHByZWdfc3BsaXQg0LggZXhwbG9kZSAs0L3QtSDQv9C+0L3QuNC80LDRjizQsiDRh9C10Lwg0LzQtdC20LTRgyDQvdC40LzQuCDRgNCw0LfQvdC40YbQsC4nOwogCi8qINCU0LXQu9Cw0LXRgiDQv9C10YDQstGD0Y4g0LHRg9C60LLRgyDQsiDRgdGC0YDQvtC60LUg0LfQsNCz0LvQsNCy0L3QvtC5ICovCmZ1bmN0aW9uIG1ha2VGaXJzdExldHRlclVwcGVyY2FzZSgkc3RyKSB7CiAgICAkc3RyID0gbWJfc3RydG91cHBlcihtYl9zdWJzdHIoJHN0ciwgMCwgMSkpLgogICAgbWJfc3Vic3RyKCRzdHIsIDEsIG1iX3N0cmxlbigkc3RyKSk7CiAgICByZXR1cm4gJHN0cjsKfQogCi8qINC40YHQv9GA0LDQstC70Y/QtdGCINGC0LXQutGB0YIgKi8KZnVuY3Rpb24gZml4VGV4dCgkdGV4dCkgewoJJHJlZ2V4cCA9ICcvKD88PVwuezN9fFwuXGJ8XD9cYnxcP3syfXxcISkvdSc7CgoJJHN0cmluZ3NBcnIgPSBwcmVnX3NwbGl0KCRyZWdleHAsICR0ZXh0LCAwLCBQUkVHX1NQTElUX05PX0VNUFRZKTsKCQoJZm9yZWFjaCgkc3RyaW5nc0FyciBhcyAkZWwgPT4gJHZhbHVlKXsKCQkkc3RyaW5nc0FyclskZWxdID0gbWFrZUZpcnN0TGV0dGVyVXBwZXJjYXNlKHRyaW0oJHZhbHVlKSk7Cgl9CgkKCSRzdHJpbmdzQXJyID0gaW1wbG9kZSgiIiwgJHN0cmluZ3NBcnIpOwoJJHN0cmluZ3NBcnIgPSBwcmVnX3JlcGxhY2UoJy8oXHMqKShbLDo7IV18XD9bP10qfFwuWy5dKikoXHMqKS91JywgJyQyICcsICRzdHJpbmdzQXJyKTsKCQoJcmV0dXJuICRzdHJpbmdzQXJyOwp9CgokcmVzdWx0ID0gZml4VGV4dCgkdGV4dCk7CmVjaG8gInskcmVzdWx0fVxuIjs=
stdout
Много их в Петербурге, молоденьких дур, сегодня в атласе да бархате, а завтра, поглядишь, метут улицу вместе с голью кабацкою... В самом деле, что было бы с нами, если бы вместо общеудобного правила: чин чина почитай, ввелось в употребление другое, например: ум ума почитай?? Какие возникли бы споры!