3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?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 "{$result}\n";
based on JJOFn
Output for 5.6.0 - 5.6.30, hhvm-3.12.14 - 3.17.3, 7.0.2 - 7.3.0beta1
Ну что. Не смотрел еще black mesa. Я собирался скачать, но все как-то некогда было.
Output for 7.0.0 - 7.0.1
Ну что, Не смотрел еще black mesa, Я собирался скачатьно все как-то некогда было,