<?php
// $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 ,не понимаю,в чем между ними разница.";
/* исправляет текст */
function fixText($text) {
$regexp = "/[ ]?+[,]([a-z|а-я])/ui";
$regexp2 = "/([.!?])([a-z|а-я])/ui";
$res1 = preg_replace ( $regexp, ", $1", $text );//исправляем пробелы перед знаками препинания $res2 = preg_replace ( $regexp2, "$1 $2", $res1 );//исправляем пробелы после знаков препинания $arr = [ ];
$arr = preg_split ( "//u", $res2, - 1, PREG_SPLIT_NO_EMPTY
);//разбиваем строку на массив символов $arr[0]=mb_strtoupper($arr[0]);//первый символ строки в заглавную букву for($i = 0; $i < (count ( $arr ) - 2); $i ++) {//первые символы оставшихся предложений в заглавную букву if (($arr [$i] == "." | $arr [$i] == "!" | $arr [$i] == "?") && $arr [$i + 1] == " ") {
}
}
return $res3;
}
$text = fixText ( $text );
echo "$text\n";
PD9waHAKZXJyb3JfcmVwb3J0aW5nICggLSAxICk7Cm1iX2ludGVybmFsX2VuY29kaW5nICggInV0Zi04IiApOwoKLy8gJHRleHQgPSAi0L3RgyDRh9GC0L4uINC90LUg0YHQvNC+0YLRgNC10Lsg0LXRidC1IGJsYWNrIG1lc2Eu0Y8g0YHQvtCx0LjRgNCw0LvRgdGPINGB0LrQsNGH0LDRgtGMICzQvdC+INCy0YHQtSDQutCw0Lot0YLQviDQvdC10LrQvtCz0LTQsCDQsdGL0LvQvi4iOwovLyDQlNC70Y8g0YLQtdGB0YLQvtCyCi8vICR0ZXh0ID0gInJvc2VzIGFyZSByZWQsYW5kIHZpb2xldHMgYXJlIGJsdWUud2hhdGV2ZXIgeW91IGRvIGknbGwga2VlcCBpdCBmb3IgeW91LiI7CiR0ZXh0ID0gItC/0YDQuNCy0LXRgi7QtdGB0YLRjCAyINGE0YPQvdC60YbQuNC4LHByZWdfc3BsaXQg0LggZXhwbG9kZSAs0L3QtSDQv9C+0L3QuNC80LDRjizQsiDRh9C10Lwg0LzQtdC20LTRgyDQvdC40LzQuCDRgNCw0LfQvdC40YbQsC4iOwoKLyog0LjRgdC/0YDQsNCy0LvRj9C10YIg0YLQtdC60YHRgiAqLwpmdW5jdGlvbiBmaXhUZXh0KCR0ZXh0KSB7CgkkcmVnZXhwID0gIi9bIF0/K1ssXShbYS16fNCwLdGPXSkvdWkiOwoJJHJlZ2V4cDIgPSAiLyhbLiE/XSkoW2EtenzQsC3Rj10pL3VpIjsKCSRyZXMxID0gcHJlZ19yZXBsYWNlICggJHJlZ2V4cCwgIiwgJDEiLCAkdGV4dCApOy8v0LjRgdC/0YDQsNCy0LvRj9C10Lwg0L/RgNC+0LHQtdC70Ysg0L/QtdGA0LXQtCDQt9C90LDQutCw0LzQuCDQv9GA0LXQv9C40L3QsNC90LjRjwoJJHJlczIgPSBwcmVnX3JlcGxhY2UgKCAkcmVnZXhwMiwgIiQxICQyIiwgJHJlczEgKTsvL9C40YHQv9GA0LDQstC70Y/QtdC8INC/0YDQvtCx0LXQu9GLINC/0L7RgdC70LUg0LfQvdCw0LrQvtCyINC/0YDQtdC/0LjQvdCw0L3QuNGPCgkkYXJyID0gWyBdOwoJJGFyciA9IHByZWdfc3BsaXQgKCAiLy91IiwgJHJlczIsIC0gMSwgUFJFR19TUExJVF9OT19FTVBUWSApOy8v0YDQsNC30LHQuNCy0LDQtdC8INGB0YLRgNC+0LrRgyDQvdCwINC80LDRgdGB0LjQsiDRgdC40LzQstC+0LvQvtCyCgkkYXJyWzBdPW1iX3N0cnRvdXBwZXIoJGFyclswXSk7Ly/Qv9C10YDQstGL0Lkg0YHQuNC80LLQvtC7INGB0YLRgNC+0LrQuCDQsiDQt9Cw0LPQu9Cw0LLQvdGD0Y4g0LHRg9C60LLRgwoJZm9yKCRpID0gMDsgJGkgPCAoY291bnQgKCAkYXJyICkgLSAyKTsgJGkgKyspIHsvL9C/0LXRgNCy0YvQtSDRgdC40LzQstC+0LvRiyDQvtGB0YLQsNCy0YjQuNGF0YHRjyDQv9GA0LXQtNC70L7QttC10L3QuNC5INCyINC30LDQs9C70LDQstC90YPRjiDQsdGD0LrQstGDCgkJaWYgKCgkYXJyIFskaV0gPT0gIi4iIHwgJGFyciBbJGldID09ICIhIiB8ICRhcnIgWyRpXSA9PSAiPyIpICYmICRhcnIgWyRpICsgMV0gPT0gIiAiKSB7CgkJCSRhcnIgWyRpICsgMl0gPSBtYl9zdHJ0b3VwcGVyICggJGFyciBbJGkgKyAyXSApOwoJCX0KCX0KCSRyZXMzID0gaW1wbG9kZSAoICIiLCAkYXJyICk7CglyZXR1cm4gJHJlczM7Cn0KJHRleHQgPSBmaXhUZXh0ICggJHRleHQgKTsKZWNobyAiJHRleHRcbiI7