<?php
//$text = "ну что. не смотрел еще black mesa.я собирался скачать ,но все как-то некогда было.";
// Для тестов
// $text = 'roses are red,and violets are blue.whatever you do i'll keep it for you.';
$text = 'проверим ,исправятся ли 2 ,2 неверно расставленных пробела. А что с другими языками? おはよう,ございます' ;
/* Делает первую букву в строке заглавной */
function makeFirstLetterUppercase($text)
{
return $text;
}
/* исправляет текст */
function fixText($text)
{
$sentenses = preg_split("/([.?!]{1,2})/u", $text, -1, PREG_SPLIT_NO_EMPTY
| PREG_SPLIT_DELIM_CAPTURE
); foreach ($sentenses as $key => $value) {
$sentenses[$key] = makeFirstLetterUppercase($value);
}
"/(\\s)([,.!?:;])([а-яёa-z])/ui",
"/([a-zа-яё])([,.!?:;])([а-яёa-z])/ui"
);
"$2 $3",
"$1$2 $3"
);
return $spacesFixed;
}
$result = fixText($text);
echo "{$result}\n";
PD9waHAKCmVycm9yX3JlcG9ydGluZygtMSk7Cm1iX2ludGVybmFsX2VuY29kaW5nKCd1dGYtOCcpOwoKLy8kdGV4dCA9ICLQvdGDINGH0YLQvi4g0L3QtSDRgdC80L7RgtGA0LXQuyDQtdGJ0LUgYmxhY2sgbWVzYS7RjyDRgdC+0LHQuNGA0LDQu9GB0Y8g0YHQutCw0YfQsNGC0YwgLNC90L4g0LLRgdC1INC60LDQui3RgtC+INC90LXQutC+0LPQtNCwINCx0YvQu9C+LiI7Ci8vINCU0LvRjyDRgtC10YHRgtC+0LIKLy8gJHRleHQgPSAncm9zZXMgYXJlIHJlZCxhbmQgdmlvbGV0cyBhcmUgYmx1ZS53aGF0ZXZlciB5b3UgZG8gaSdsbCBrZWVwIGl0IGZvciB5b3UuJzsKICR0ZXh0ID0gJ9C/0YDQvtCy0LXRgNC40LwgICzQuNGB0L/RgNCw0LLRj9GC0YHRjyDQu9C4IDIgLDIg0L3QtdCy0LXRgNC90L4g0YDQsNGB0YHRgtCw0LLQu9C10L3QvdGL0YUg0L/RgNC+0LHQtdC70LAuINCQINGH0YLQviDRgSDQtNGA0YPQs9C40LzQuCDRj9C30YvQutCw0LzQuD8g44GK44Gv44KI44GGLOOBlOOBluOBhOOBvuOBmScgOwoKLyog0JTQtdC70LDQtdGCINC/0LXRgNCy0YPRjiDQsdGD0LrQstGDINCyINGB0YLRgNC+0LrQtSDQt9Cw0LPQu9Cw0LLQvdC+0LkgKi8KZnVuY3Rpb24gbWFrZUZpcnN0TGV0dGVyVXBwZXJjYXNlKCR0ZXh0KQp7CiAgICAKICAgICR0ZXh0ICAgICAgPSBsdHJpbSgkdGV4dCk7CiAgICAkZmlyc3RDaGFyID0gbWJfc3Vic3RyKCR0ZXh0LCAwLCAxKTsKICAgICRmaXhlZCAgICAgPSBtYl9zdHJ0b3VwcGVyKCRmaXJzdENoYXIpOwogICAgJHRleHQgICAgICA9ICRmaXhlZCAuIG1iX3N1YnN0cigkdGV4dCwgMSk7CiAgICByZXR1cm4gJHRleHQ7Cn0KCi8qINC40YHQv9GA0LDQstC70Y/QtdGCINGC0LXQutGB0YIgKi8KZnVuY3Rpb24gZml4VGV4dCgkdGV4dCkKewogICAgCiAgICAkc2VudGVuc2VzID0gcHJlZ19zcGxpdCgiLyhbLj8hXXsxLDJ9KS91IiwgJHRleHQsIC0xLCBQUkVHX1NQTElUX05PX0VNUFRZIHwgUFJFR19TUExJVF9ERUxJTV9DQVBUVVJFKTsKICAgIGZvcmVhY2ggKCRzZW50ZW5zZXMgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAkc2VudGVuc2VzWyRrZXldID0gbWFrZUZpcnN0TGV0dGVyVXBwZXJjYXNlKCR2YWx1ZSk7CiAgICB9CiAgICAKICAgICR0ZXh0ID0gaW1wbG9kZSgiIiwgYXJyYXlfdmFsdWVzKCRzZW50ZW5zZXMpKTsKICAgIAogICAgJHJlZyAgID0gYXJyYXkoCiAgICAgICAgIi8oXFxzKShbLC4hPzo7XSkoW9CwLdGP0ZFhLXpdKS91aSIsCiAgICAgICAgIi8oW2EtetCwLdGP0ZFdKShbLC4hPzo7XSkoW9CwLdGP0ZFhLXpdKS91aSIKICAgICk7CiAgICAkcmlnaHQgPSBhcnJheSgKICAgICAgICAiJDIgJDMiLAogICAgICAgICIkMSQyICQzIgogICAgKTsKICAgIAogICAgJHNwYWNlc0ZpeGVkID0gcHJlZ19yZXBsYWNlKCRyZWcsICRyaWdodCwgJHRleHQpOwogICAgCiAgICByZXR1cm4gJHNwYWNlc0ZpeGVkOwp9CiRyZXN1bHQgPSBmaXhUZXh0KCR0ZXh0KTsKZWNobyAieyRyZXN1bHR9XG4iOw==