fork download
  1. <?php
  2.  
  3.  
  4. $text = "ну что. не смотрел еще black mesa.я собирался скачать ,но все как-то некогда было.";
  5. // Для тестов
  6. //$text = "roses are red,and violets are blue.whatever you do i'll keep it for you.";
  7. // $text = 'привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница.';
  8.  
  9. /* Делает первую букву в строке заглавной */
  10.  
  11. function makeFirstLetterUppercase($text) {
  12. $parts=preg_split("/(?<=\.)/ui", $text, -1, PREG_SPLIT_NO_EMPTY);
  13. $str="";
  14. foreach($parts as $key => $value){
  15. $arr=preg_split('//u', $value, null, PREG_SPLIT_NO_EMPTY);
  16. //$i=0;
  17. $i=0;
  18. while(true)
  19. {
  20. if ($arr[$i]!=" ") {
  21. $letter1=mb_strtoupper($arr[$i]);
  22. $arr[$i]=$letter1;
  23. break;
  24. }
  25. $i++;
  26. }
  27. $res=implode('',$arr);
  28. $str.=$res;
  29. }
  30. return $str;
  31. }
  32.  
  33. /* исправляет текст */
  34. function fixText($text) {
  35. $result = makeFirstLetterUppercase($text);
  36. $res=preg_replace( '/[\s]*(\.|,)[\s]*/', '$1 ', $result);
  37. return $res;
  38. }
  39. $result = fixText($text);
  40. echo "{$result}\n";
  41.  
  42.  
Success #stdin #stdout 0.02s 26620KB
stdin
Standard input is empty
stdout
Ну что. Не смотрел еще black mesa. Я собирался скачать, но все как-то некогда было.