fork(3) 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 fixText($text) {
  11. $regexp = array();
  12. $regexp[0] = '/[ ]*[,][ ]*/u';
  13. $regexp[1] = '/[ ]*[!][ ]*/u';
  14. $regexp[2] = '/[ ]*[?][ ]*/u';
  15. $regexp[3] = '/[ ]*[.][ ]*/u';
  16.  
  17. $replacements = array();
  18. $replacements[0] = ', ';
  19. $replacements[1] = '! ';
  20. $replacements[2] = '? ';
  21. $replacements[3] = '. ';
  22.  
  23. $text = preg_replace($regexp, $replacements, $text);
  24.  
  25. return($text);
  26. }
  27.  
  28. $text = fixText($text);
  29.  
  30. //делает первую букву предложения заглавной;
  31. $offers = preg_split('/(?<=[.?!])[ ]/u', $text);
  32. foreach($offers as &$sentence) {
  33. $sentence = mb_strtoupper(mb_substr($sentence, 0, 1)).mb_substr($sentence, 1, mb_strlen($sentence));
  34. }
  35.  
  36. $text = implode(" ", $offers);
  37. echo $text;
  38.  
  39.  
  40.  
Success #stdin #stdout 0.02s 52432KB
stdin
Standard input is empty
stdout
Ну что. Не смотрел еще black mesa. Я собирался скачать, но все как-то некогда было.