<?php
/**
* 28.04.2015 (9:45)
* Shift.php
* PhpStorm
*/
header("Content-Type: text/plain; charset=utf-8");
// $sentence = "ну что. не смотрел еще black mesa.я собирался скачать ,но все как-то некогда было. Но, все OK";
// $sentence = "roses are red,and violets are blue.whatever you do i'll keep , it for you.";
$sentence = "привет.есть 2 функции, preg_split и explode ,не понимаю,в чем между ними , разница.";
/* Делает первую букву в строке заглавной */
function makeFirstLetterUppercase($text)
{
$text = $firstLetter . $otherLetters;
return $text;
}
/* Исправляет текст */
function fixText($text)
{
$result = '';
/* Разбиваем текст на предложения */
$regexp = '![.]!u';
$parts = preg_split($regexp, $text, 0, PREG_SPLIT_NO_EMPTY
); foreach ($parts as $key => $sentence) {
$sentence = trim($sentence); /* Обрезаем пробелы в начале и в конце стороки */ $sentence = makeFirstLetterUppercase($sentence); /* Пропускаем через функцию, делающую первую букву заглавной */
/* Собираем предложения в единый текст */
if ($key > 0) {
$result = $result . ". " . $sentence;
} else {
$result .= $sentence;
}
}
/* Исправляем ошибку вида "слово, " и " ,слово" */
$regexpComma = '![,]\s+|\s+[,]!';
/* Исправляем ошибку вида "слово,слово" */
$regexpRemoveComma = '!(,)([a-zA-Zа-яёА-ЯЁ])!u';
$result = preg_replace($regexpRemoveComma, '$1 $2', $result); /* Удаляем лишние пробелы */
$regexpRemoveSpace = '!\s{2,}!';
return $result . ".";
}
$result = fixText($sentence);
echo "{$result}\n";
PD9waHAKCi8qKgogKiAyOC4wNC4yMDE1ICg5OjQ1KQogKiBTaGlmdC5waHAKICogUGhwU3Rvcm0KICovCgplcnJvcl9yZXBvcnRpbmcoLTEpOwptYl9pbnRlcm5hbF9lbmNvZGluZygndXRmLTgnKTsKaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgiKTsKCi8vICRzZW50ZW5jZSA9ICLQvdGDINGH0YLQvi4gICAgICDQvdC1INGB0LzQvtGC0YDQtdC7INC10YnQtSBibGFjayBtZXNhLtGPINGB0L7QsdC40YDQsNC70YHRjyDRgdC60LDRh9Cw0YLRjCAgLNC90L4g0LLRgdC1INC60LDQui3RgtC+INC90LXQutC+0LPQtNCwINCx0YvQu9C+LiDQndC+LCDQstGB0LUgT0siOwovLyAkc2VudGVuY2UgPSAicm9zZXMgYXJlIHJlZCxhbmQgdmlvbGV0cyBhcmUgYmx1ZS53aGF0ZXZlciB5b3UgZG8gaSdsbCBrZWVwICwgaXQgZm9yIHlvdS4iOwokc2VudGVuY2UgPSAi0L/RgNC40LLQtdGCLtC10YHRgtGMIDIg0YTRg9C90LrRhtC40LgsICAgICBwcmVnX3NwbGl0INC4IGV4cGxvZGUgICAgICzQvdC1INC/0L7QvdC40LzQsNGOLNCyINGH0LXQvCDQvNC10LbQtNGDINC90LjQvNC4ICwg0YDQsNC30L3QuNGG0LAuIjsKCi8qINCU0LXQu9Cw0LXRgiDQv9C10YDQstGD0Y4g0LHRg9C60LLRgyDQsiDRgdGC0YDQvtC60LUg0LfQsNCz0LvQsNCy0L3QvtC5ICovCmZ1bmN0aW9uIG1ha2VGaXJzdExldHRlclVwcGVyY2FzZSgkdGV4dCkKewogICAgJGZpcnN0TGV0dGVyID0gbWJfc3Vic3RyKCR0ZXh0LCAwLCAxKTsKICAgICRmaXJzdExldHRlciA9IG1iX3N0cnRvdXBwZXIoJGZpcnN0TGV0dGVyKTsKICAgICRvdGhlckxldHRlcnMgPSBtYl9zdWJzdHIoJHRleHQsIDEpOwogICAgJHRleHQgPSAkZmlyc3RMZXR0ZXIgLiAkb3RoZXJMZXR0ZXJzOwogICAgcmV0dXJuICR0ZXh0Owp9CgovKiDQmNGB0L/RgNCw0LLQu9GP0LXRgiDRgtC10LrRgdGCICovCmZ1bmN0aW9uIGZpeFRleHQoJHRleHQpCnsKICAgICRyZXN1bHQgPSAnJzsKICAgIC8qINCg0LDQt9Cx0LjQstCw0LXQvCDRgtC10LrRgdGCINC90LAg0L/RgNC10LTQu9C+0LbQtdC90LjRjyAqLwogICAgJHJlZ2V4cCA9ICchWy5dIXUnOwogICAgJHBhcnRzID0gcHJlZ19zcGxpdCgkcmVnZXhwLCAkdGV4dCwgMCwgUFJFR19TUExJVF9OT19FTVBUWSk7CiAgICBmb3JlYWNoICgkcGFydHMgYXMgJGtleSA9PiAkc2VudGVuY2UpIHsKICAgICAgICAkc2VudGVuY2UgPSB0cmltKCRzZW50ZW5jZSk7IC8qINCe0LHRgNC10LfQsNC10Lwg0L/RgNC+0LHQtdC70Ysg0LIg0L3QsNGH0LDQu9C1INC4INCyINC60L7QvdGG0LUg0YHRgtC+0YDQvtC60LggKi8KICAgICAgICAkc2VudGVuY2UgPSBtYWtlRmlyc3RMZXR0ZXJVcHBlcmNhc2UoJHNlbnRlbmNlKTsgIC8qINCf0YDQvtC/0YPRgdC60LDQtdC8INGH0LXRgNC10Lcg0YTRg9C90LrRhtC40Y4sINC00LXQu9Cw0Y7RidGD0Y4g0L/QtdGA0LLRg9GOINCx0YPQutCy0YMg0LfQsNCz0LvQsNCy0L3QvtC5ICovCiAgICAgICAgLyog0KHQvtCx0LjRgNCw0LXQvCDQv9GA0LXQtNC70L7QttC10L3QuNGPINCyINC10LTQuNC90YvQuSDRgtC10LrRgdGCICovCiAgICAgICAgaWYgKCRrZXkgPiAwKSB7CiAgICAgICAgICAgICRyZXN1bHQgPSAkcmVzdWx0IC4gIi4gIiAuICRzZW50ZW5jZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkcmVzdWx0IC49ICRzZW50ZW5jZTsKICAgICAgICB9CiAgICB9CiAgICAvKiDQmNGB0L/RgNCw0LLQu9GP0LXQvCDQvtGI0LjQsdC60YMg0LLQuNC00LAgItGB0LvQvtCy0L4sICAgICAiINC4ICIgICAgLNGB0LvQvtCy0L4iICovCiAgICAkcmVnZXhwQ29tbWEgPSAnIVssXVxzK3xccytbLF0hJzsKICAgICRyZXN1bHQgPSBwcmVnX3JlcGxhY2UoJHJlZ2V4cENvbW1hLCAnLCAnLCAkcmVzdWx0KTsKICAgIC8qINCY0YHQv9GA0LDQstC70Y/QtdC8INC+0YjQuNCx0LrRgyDQstC40LTQsCAi0YHQu9C+0LLQvizRgdC70L7QstC+IiAqLwogICAgJHJlZ2V4cFJlbW92ZUNvbW1hID0gJyEoLCkoW2EtekEtWtCwLdGP0ZHQkC3Qr9CBXSkhdSc7CiAgICAkcmVzdWx0ID0gcHJlZ19yZXBsYWNlKCRyZWdleHBSZW1vdmVDb21tYSwgJyQxICQyJywgJHJlc3VsdCk7CiAgICAvKiDQo9C00LDQu9GP0LXQvCDQu9C40YjQvdC40LUg0L/RgNC+0LHQtdC70YsgKi8KICAgICRyZWdleHBSZW1vdmVTcGFjZSA9ICchXHN7Mix9ISc7CiAgICAkcmVzdWx0ID0gcHJlZ19yZXBsYWNlKCRyZWdleHBSZW1vdmVTcGFjZSwgJyAnLCAkcmVzdWx0KTsKICAgIHJldHVybiAkcmVzdWx0IC4gIi4iOwp9CgokcmVzdWx0ID0gZml4VGV4dCgkc2VudGVuY2UpOwoKZWNobyAieyRyZXN1bHR9XG4iOwo=