<?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 makeFirstLetterUppercase($text) {
$text = preg_split('#[?!.]#u', $text, -1, PREG_SPLIT_NO_EMPTY
); foreach ($text as $key => $letter){
$text[$key] = trim($text[$key]); $text[$key] = preg_split('//u', $text[$key], -1, PREG_SPLIT_NO_EMPTY
); $text[$key] = implode("", $text[$key]); }
return $text;
}
/* исправляет текст */
function fixText($text){
$text = makeFirstLetterUppercase($text);
$reg = '#([a-zа-я](" ")*[.?!])#u';
$reg2 = '#\\s+([,.!?])#';
return $text;
}
$result = fixText($text);
echo "{$result}\n";
PD9waHAKCmVycm9yX3JlcG9ydGluZygtMSk7Cm1iX2ludGVybmFsX2VuY29kaW5nKCd1dGYtOCcpOwoKJHRleHQgPSAi0L3RgyDRh9GC0L4uICAgICAg0L3QtSDRgdC80L7RgtGA0LXQuyDQtdGJ0LUgYmxhY2sgbWVzYS7RjyDRgdC+0LHQuNGA0LDQu9GB0Y8g0YHQutCw0YfQsNGC0YwgICzQvdC+INCy0YHQtSDQutCw0Lot0YLQviDQvdC10LrQvtCz0LTQsCDQsdGL0LvQvi4iOwovLyDQlNC70Y8g0YLQtdGB0YLQvtCyCi8vICR0ZXh0ID0gJ3Jvc2VzIGFyZSByZWQsYW5kIHZpb2xldHMgYXJlIGJsdWUud2hhdGV2ZXIgeW91IGRvIGknbGwga2VlcCBpdCBmb3IgeW91Lic7Ci8vICR0ZXh0ID0gJ9C/0YDQuNCy0LXRgi7QtdGB0YLRjCAyINGE0YPQvdC60YbQuNC4LHByZWdfc3BsaXQg0LggZXhwbG9kZSAs0L3QtSDQv9C+0L3QuNC80LDRjizQsiDRh9C10Lwg0LzQtdC20LTRgyDQvdC40LzQuCDRgNCw0LfQvdC40YbQsC4nOwoKLyog0JTQtdC70LDQtdGCINC/0LXRgNCy0YPRjiDQsdGD0LrQstGDINCyINGB0YLRgNC+0LrQtSDQt9Cw0LPQu9Cw0LLQvdC+0LkgKi8KZnVuY3Rpb24gbWFrZUZpcnN0TGV0dGVyVXBwZXJjYXNlKCR0ZXh0KSB7CiAgICAkdGV4dCA9IHByZWdfc3BsaXQoJyNbPyEuXSN1JywgJHRleHQsIC0xLCBQUkVHX1NQTElUX05PX0VNUFRZKTsKICAgIGZvcmVhY2ggKCR0ZXh0IGFzICRrZXkgPT4gJGxldHRlcil7CiAgICAJJHRleHRbJGtleV0gPSB0cmltKCR0ZXh0WyRrZXldKTsKICAgIAkkdGV4dFska2V5XSA9IHByZWdfc3BsaXQoJy8vdScsICR0ZXh0WyRrZXldLCAtMSwgUFJFR19TUExJVF9OT19FTVBUWSk7CiAgICAJJHRleHRbJGtleV1bMF0gPSBtYl9zdHJ0b3VwcGVyKCR0ZXh0WyRrZXldWzBdKTsKICAgIAkkdGV4dFska2V5XSA9IGltcGxvZGUoIiIsICR0ZXh0WyRrZXldKTsKICAgIH0KICAgICR0ZXh0ID0gaW1wbG9kZSgiLiIsJHRleHQpOwogICAgcmV0dXJuICR0ZXh0Owp9CgovKiDQuNGB0L/RgNCw0LLQu9GP0LXRgiDRgtC10LrRgdGCICovCmZ1bmN0aW9uIGZpeFRleHQoJHRleHQpewoJJHRleHQgPSBtYWtlRmlyc3RMZXR0ZXJVcHBlcmNhc2UoJHRleHQpOwoJJHJlZyA9ICcjKFthLXrQsC3Rj10oIiAiKSpbLj8hXSkjdSc7CgkkcmVnMiA9ICcjXFxzKyhbLC4hP10pIyc7CgkkdGV4dCA9IHByZWdfcmVwbGFjZSgkcmVnLCAiJDEgIiwgJHRleHQpOwoJJHRleHQgPSBwcmVnX3JlcGxhY2UoJHJlZzIsICIkMSIsICR0ZXh0KTsKCXJldHVybiAkdGV4dDsKfQoKJHJlc3VsdCA9IGZpeFRleHQoJHRleHQpOwplY2hvICJ7JHJlc3VsdH1cbiI7Cgo=