<?php
error_reporting(-1);
mb_internal_encoding('utf-8');
$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) {
$sentences = preg_split("/(?<=[!\?\.])/u", $text, -1, PREG_SPLIT_NO_EMPTY);
$countSentences = count($sentences);
for ($i = 0; $i < $countSentences; $i++){
$sentences[1] = trim($sentences[1]);
$sentences[$i] = mb_ucfirst($sentences[$i]);
}
$text=implode($sentences);
return($text);
}
function mb_ucfirst($str, $encoding = NULL)
{
if($encoding === NULL)
{
$encoding = mb_internal_encoding();
}
return mb_substr(mb_strtoupper($str, $encoding), 0, 1, $encoding) . mb_substr($str, 1, mb_strlen($str)-1, $encoding);
}
/* исправляет текст */
function fixText($text) {
$patterns=array();
$patterns[1]='/(\\s+)?,(\\s+)?/u';
$patterns[2]='/[.]/u';
$replacements=array();
$replacements[1]=", ";
$replacements[2]=". ";
$text=preg_replace($patterns,$replacements,$text);
return($text);
}
function ucfirst_utf8($str)
{
return mb_substr(mb_strtoupper($str, 'utf-8'), 0, 1, 'utf-8') . mb_substr($str, 1, mb_strlen($str)-1, 'utf-8');
}
$text = makeFirstLetterUppercase($text);
//$result = fixText($text);
echo "{$text}\n";
preferences:
69.58 ms | 402 KiB | 5 Q