fork(21) 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. function makeFirstLetterUppercase($text) {
  11. $explodedText=preg_split("/[.?!]/u",$text,0,PREG_SPLIT_NO_EMPTY);
  12. $count=count($explodedText);
  13. for ($i=0;$i<$count;$i++) {
  14.  
  15. $explodedText[1]=trim($explodedText[1]);
  16. $explodedText[$i]=mb_ucfirst($explodedText[$i]);
  17. }
  18. $text=implode(". ",$explodedText);
  19. return($text);
  20. }
  21.  
  22. /* исправляет текст */
  23. function fixText($text) {
  24.  
  25. $patterns=array();
  26. $patterns[1]='/(\\s+)?,(\\s+)?/u';
  27. $patterns[2]='/$/u';
  28.  
  29. $replacements=array();
  30. $replacements[1]=", ";
  31. $replacements[2]=".";
  32.  
  33. $text=preg_replace($patterns,$replacements,$text);
  34. return($text);
  35.  
  36. }
  37. function mb_ucfirst($str, $encoding = NULL)
  38. {
  39. if($encoding === NULL)
  40. {
  41. $encoding = mb_internal_encoding();
  42. }
  43.  
  44. return mb_substr(mb_strtoupper($str, $encoding), 0, 1, $encoding) . mb_substr($str, 1, mb_strlen($str)-1, $encoding);
  45. }
  46.  
  47. function ucfirst_utf8($str)
  48. {
  49. return mb_substr(mb_strtoupper($str, 'utf-8'), 0, 1, 'utf-8') . mb_substr($str, 1, mb_strlen($str)-1, 'utf-8');
  50. }
  51.  
  52. $text=makeFirstLetterUppercase($text);
  53. $result = fixText($text);
  54. echo "{$result}\n";
  55.  
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
Roses are red, and violets are blue. Whatever you do i'll keep it for you.