/*Дан неграмотно написанный текст, состоящий из нескольких предложений на русском языке. Ошибки заключаются в
неправильной расстановке пробелов и отсутствии заглавных букв. Исправь текст так, чтобы все предложения в нем начинались
с большой буквы, а после знаков запятая, точка, точка с запятой, двоеточие, восклицательный и вопросительный знак стоял
ровно один пробел (а перед ними — ни одного). Составные знаки вроде многоточия или 2 вопросительных знаков подряд
должны сохраняться.*/
<?php
function upFirstLetter( $text ) {
}
//mb_internal_encoding('utf-8');
$text = <<< EOF
много их в Петербурге,молоденьких дур,сегодня в атласе да бархате,а завтра , поглядишь , метут улицу вместе с голью кабацкою...в
самом деле ,что было бы с нами ,если бы вместо общеудобного правила:чин чина почитай , ввелось в употребление другое,например:ум ума почитай?какие возникли бы споры!
EOF ;
$sentences = preg_split ( '/(?<=[?!.])/u' , $text , - 1 , PREG_SPLIT_NO_EMPTY
) ; $fixedString = [ ] ;
foreach ( $sentences as $sentence ) {
echo $sentence . "\n " ;
$fixed = upFirstLetter( $sentence ) ;
$fixedString [ ] = $fixed ;
}
$pattern = "/^[.?!]/u" ;
$result = "" ;
for ( $i = 0 ; $i < count ( $fixedString ) ; $i ++ ) { //Если следующее предложение состоит только из знака препинания, то не ставить пробел $result .= $fixedString [ $i ] ;
} else {
$result .= $fixedString [ $i ] . " " ;
}
}
echo $result . "\n " ;
?>
LyrQlNCw0L0g0L3QtdCz0YDQsNC80L7RgtC90L4g0L3QsNC/0LjRgdCw0L3QvdGL0Lkg0YLQtdC60YHRgiwg0YHQvtGB0YLQvtGP0YnQuNC5INC40Lcg0L3QtdGB0LrQvtC70YzQutC40YUg0L/RgNC10LTQu9C+0LbQtdC90LjQuSDQvdCwINGA0YPRgdGB0LrQvtC8INGP0LfRi9C60LUuINCe0YjQuNCx0LrQuCDQt9Cw0LrQu9GO0YfQsNGO0YLRgdGPINCyCtC90LXQv9GA0LDQstC40LvRjNC90L7QuSDRgNCw0YHRgdGC0LDQvdC+0LLQutC1INC/0YDQvtCx0LXQu9C+0LIg0Lgg0L7RgtGB0YPRgtGB0YLQstC40Lgg0LfQsNCz0LvQsNCy0L3Ri9GFINCx0YPQutCyLiDQmNGB0L/RgNCw0LLRjCDRgtC10LrRgdGCINGC0LDQuiwg0YfRgtC+0LHRiyDQstGB0LUg0L/RgNC10LTQu9C+0LbQtdC90LjRjyDQsiDQvdC10Lwg0L3QsNGH0LjQvdCw0LvQuNGB0YwK0YEg0LHQvtC70YzRiNC+0Lkg0LHRg9C60LLRiywg0LAg0L/QvtGB0LvQtSDQt9C90LDQutC+0LIg0LfQsNC/0Y/RgtCw0Y8sINGC0L7Rh9C60LAsINGC0L7Rh9C60LAg0YEg0LfQsNC/0Y/RgtC+0LksINC00LLQvtC10YLQvtGH0LjQtSwg0LLQvtGB0LrQu9C40YbQsNGC0LXQu9GM0L3Ri9C5INC4INCy0L7Qv9GA0L7RgdC40YLQtdC70YzQvdGL0Lkg0LfQvdCw0Log0YHRgtC+0Y/QuwrRgNC+0LLQvdC+INC+0LTQuNC9INC/0YDQvtCx0LXQuyAo0LAg0L/QtdGA0LXQtCDQvdC40LzQuCDigJQg0L3QuCDQvtC00L3QvtCz0L4pLiDQodC+0YHRgtCw0LLQvdGL0LUg0LfQvdCw0LrQuCDQstGA0L7QtNC1INC80L3QvtCz0L7RgtC+0YfQuNGPINC40LvQuCAyINCy0L7Qv9GA0L7RgdC40YLQtdC70YzQvdGL0YUg0LfQvdCw0LrQvtCyINC/0L7QtNGA0Y/QtArQtNC+0LvQttC90Ysg0YHQvtGF0YDQsNC90Y/RgtGM0YHRjy4qLwo8P3BocApmdW5jdGlvbiB1cEZpcnN0TGV0dGVyKCR0ZXh0KXsKICAgICR0ZXh0ID0gdHJpbSgkdGV4dCk7CiAgICByZXR1cm4gbWJfc3RydG91cHBlcihtYl9zdWJzdHIoJHRleHQsIDAsIDEpKSAuIG1iX3N1YnN0cigkdGV4dCwgMSk7Cn0KLy9tYl9pbnRlcm5hbF9lbmNvZGluZygndXRmLTgnKTsKZXJyb3JfcmVwb3J0aW5nKC0xKTsKJHRleHQgPSA8PDwgRU9GCtC80L3QvtCz0L4g0LjRhSDQsiDQn9C10YLQtdGA0LHRg9GA0LPQtSzQvNC+0LvQvtC00LXQvdGM0LrQuNGFINC00YPRgCzRgdC10LPQvtC00L3RjyDQsiDQsNGC0LvQsNGB0LUg0LTQsCDQsdCw0YDRhdCw0YLQtSzQsCDQt9Cw0LLRgtGA0LAgLCDQv9C+0LPQu9GP0LTQuNGI0YwgLCDQvNC10YLRg9GCINGD0LvQuNGG0YMg0LLQvNC10YHRgtC1INGBINCz0L7Qu9GM0Y4g0LrQsNCx0LDRhtC60L7Rji4uLtCyIArRgdCw0LzQvtC8INC00LXQu9C1ICzRh9GC0L4g0LHRi9C70L4g0LHRiyDRgSDQvdCw0LzQuCAs0LXRgdC70Lgg0LHRiyDQstC80LXRgdGC0L4g0L7QsdGJ0LXRg9C00L7QsdC90L7Qs9C+INC/0YDQsNCy0LjQu9CwOtGH0LjQvSDRh9C40L3QsCDQv9C+0YfQuNGC0LDQuSAsINCy0LLQtdC70L7RgdGMINCyINGD0L/QvtGC0YDQtdCx0LvQtdC90LjQtSDQtNGA0YPQs9C+0LUs0L3QsNC/0YDQuNC80LXRgDrRg9C8INGD0LzQsCDQv9C+0YfQuNGC0LDQuT/QutCw0LrQuNC1INCy0L7Qt9C90LjQutC70Lgg0LHRiyDRgdC/0L7RgNGLIQpFT0Y7Cgokc2VudGVuY2VzID0gcHJlZ19zcGxpdCgnLyg/PD1bPyEuXSkvdScsICR0ZXh0LCAtMSwgUFJFR19TUExJVF9OT19FTVBUWSk7CiRmaXhlZFN0cmluZyA9IFtdOwoKZm9yZWFjaCAoJHNlbnRlbmNlcyBhcyAkc2VudGVuY2UpewogICAgZWNobyAkc2VudGVuY2UgLiAiXG4iOwogICAgJGZpeGVkID0gdXBGaXJzdExldHRlcigkc2VudGVuY2UpOwogICAgJGZpeGVkID0gcHJlZ19yZXBsYWNlKCIvXHMrKFssOl0pLyIsICIkMSIsICRmaXhlZCk7CiAgICAkZml4ZWQgPSBwcmVnX3JlcGxhY2UoIi8oWyw6XSlccyovIiwgIiQxICIsICRmaXhlZCk7CiAgICAkZml4ZWRTdHJpbmdbXSA9ICRmaXhlZDsKfQokcGF0dGVybiA9ICIvXlsuPyFdL3UiOwokcmVzdWx0ID0gIiI7CmZvcigkaSA9IDA7ICRpIDwgY291bnQoJGZpeGVkU3RyaW5nKTsgJGkrKyl7Ly/QldGB0LvQuCDRgdC70LXQtNGD0Y7RidC10LUg0L/RgNC10LTQu9C+0LbQtdC90LjQtSDRgdC+0YHRgtC+0LjRgiDRgtC+0LvRjNC60L4g0LjQtyDQt9C90LDQutCwINC/0YDQtdC/0LjQvdCw0L3QuNGPLCDRgtC+INC90LUg0YHRgtCw0LLQuNGC0Ywg0L/RgNC+0LHQtdC7CiAgICBpZihwcmVnX21hdGNoKCIvXlteLj8hXS91IiwgJGZpeGVkU3RyaW5nWyRpXSkgJiYgcHJlZ19tYXRjaCgkcGF0dGVybiwgJGZpeGVkU3RyaW5nWyRpICsgMV0pCiAgICAgICAgfHwgKHByZWdfbWF0Y2goJHBhdHRlcm4sICRmaXhlZFN0cmluZ1skaV0pICYmIHByZWdfbWF0Y2goJHBhdHRlcm4sICRmaXhlZFN0cmluZ1skaSArIDFdKSkpewogICAgICAgICRyZXN1bHQgLj0gJGZpeGVkU3RyaW5nWyRpXTsKICAgIH0gICBlbHNlewogICAgICAgICRyZXN1bHQgLj0gJGZpeGVkU3RyaW5nWyRpXSAgLiAiICI7CiAgICB9Cn0KZWNobyAkcmVzdWx0IC4gIlxuIjsKCj8+
stdout
/*Дан неграмотно написанный текст, состоящий из нескольких предложений на русском языке. Ошибки заключаются в
неправильной расстановке пробелов и отсутствии заглавных букв. Исправь текст так, чтобы все предложения в нем начинались
с большой буквы, а после знаков запятая, точка, точка с запятой, двоеточие, восклицательный и вопросительный знак стоял
ровно один пробел (а перед ними — ни одного). Составные знаки вроде многоточия или 2 вопросительных знаков подряд
должны сохраняться.*/
много их в Петербурге,молоденьких дур,сегодня в атласе да бархате,а завтра , поглядишь , метут улицу вместе с голью кабацкою.
stderr
PHP Fatal error: Uncaught Error: Call to undefined function mb_strtoupper() in /home/qvXFDa/prog.php:9
Stack trace:
#0 /home/qvXFDa/prog.php(23): upFirstLetter('\xD0\xBC\xD0\xBD\xD0\xBE\xD0\xB3\xD0\xBE \xD0\xB8\xD1\x85...')
#1 {main}
thrown in /home/qvXFDa/prog.php on line 9