<?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) {
$clauses = preg_split('/([!?.])/', $text, 0, PREG_SPLIT_NO_EMPTY
| PREG_SPLIT_DELIM_CAPTURE
); $text = '';
foreach ($clauses as $key => $clause) {
$clause = ltrim($clause); $clause = $firstLetter . mb_substr($clause, 1); $text .= $clause;
}
return $text;
}
/* исправляет текст */
function fixText($text) {
$text = makeFirstLetterUppercase($text);
return $text;
}
$result = fixText($text);
echo "{$result}\n";
PD9waHAKCmVycm9yX3JlcG9ydGluZygtMSk7Cm1iX2ludGVybmFsX2VuY29kaW5nKCd1dGYtOCcpOwoKLy8kdGV4dCA9ICLQvdGDINGH0YLQvi4g0L3QtSDRgdC80L7RgtGA0LXQuyDQtdGJ0LUgYmxhY2sgbWVzYS7RjyDRgdC+0LHQuNGA0LDQu9GB0Y8g0YHQutCw0YfQsNGC0YwgLNC90L4g0LLRgdC1INC60LDQui3RgtC+INC90LXQutC+0LPQtNCwINCx0YvQu9C+LiI7Ci8vINCU0LvRjyDRgtC10YHRgtC+0LIKLy8gJHRleHQgPSAicm9zZXMgYXJlIHJlZCxhbmQgdmlvbGV0cyBhcmUgYmx1ZS53aGF0ZXZlciB5b3UgZG8gaSdsbCBrZWVwIGl0IGZvciB5b3UuIjsKJHRleHQgPSAn0L/RgNC40LLQtdGCIdC10YHRgtGMIDIg0YTRg9C90LrRhtC40LgscHJlZ19zcGxpdCDQuCBleHBsb2RlICzQvdC1INC/0L7QvdC40LzQsNGOLNCyINGH0LXQvCDQvNC10LbQtNGDINC90LjQvNC4INGA0LDQt9C90LjRhtCwPyc7CgovKiDQlNC10LvQsNC10YIg0L/QtdGA0LLRg9GOINCx0YPQutCy0YMg0LIg0YHRgtGA0L7QutC1INC30LDQs9C70LDQstC90L7QuSAqLwpmdW5jdGlvbiBtYWtlRmlyc3RMZXR0ZXJVcHBlcmNhc2UoJHRleHQpIHsKICAgICRjbGF1c2VzID0gcHJlZ19zcGxpdCgnLyhbIT8uXSkvJywgJHRleHQsIDAsIFBSRUdfU1BMSVRfTk9fRU1QVFkgfCBQUkVHX1NQTElUX0RFTElNX0NBUFRVUkUpOwogICAgJHRleHQgPSAnJzsKICAgIGZvcmVhY2ggKCRjbGF1c2VzIGFzICRrZXkgPT4gJGNsYXVzZSkgewogICAgICAgICRjbGF1c2UgPSBsdHJpbSgkY2xhdXNlKTsKICAgICAgICAkZmlyc3RMZXR0ZXIgPSBtYl9zdHJ0b3VwcGVyKG1iX3N1YnN0cigkY2xhdXNlLCAwLCAxKSk7CiAgICAgICAgJGNsYXVzZSA9ICRmaXJzdExldHRlciAuIG1iX3N1YnN0cigkY2xhdXNlLCAxKTsKICAgICAgICAkdGV4dCAuPSAkY2xhdXNlOwogICAgfQogICAgcmV0dXJuICR0ZXh0Owp9CgovKiDQuNGB0L/RgNCw0LLQu9GP0LXRgiDRgtC10LrRgdGCICovCmZ1bmN0aW9uIGZpeFRleHQoJHRleHQpIHsKICAgICR0ZXh0ID0gbWFrZUZpcnN0TGV0dGVyVXBwZXJjYXNlKCR0ZXh0KTsKICAgICR0ZXh0ID0gcHJlZ19yZXBsYWNlKCcvICooWyE/Liw6O10pICovJywgJyQxICcsICR0ZXh0KTsKICAgIHJldHVybiAkdGV4dDsKfQoKJHJlc3VsdCA9IGZpeFRleHQoJHRleHQpOwplY2hvICJ7JHJlc3VsdH1cbiI7