fork(1) download
  1. <?php
  2.  
  3.  
  4. #---------------------------------------------------------------------------------------------------#
  5. $text0 = "ну что. не смотрел еще black mesa.я собирался скачать ,но все как-то некогда было.";
  6. $text1 = "roses are red,and violets are blue.whatever you do i'll keep it for you.";
  7. $text2 = "привет!есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница?";
  8. #---------------------------------------------------------------------------------------------------#
  9.  
  10. $texts = array($text0, $text1, $text2);
  11.  
  12. /* Делает первую букву в строке заглавной */
  13. function makeFirstLetterUppercase($text) {
  14. return mb_strtoupper(mb_substr($text, 0, 1)) . mb_substr($text, 1);
  15. }
  16.  
  17. /* Убирает лишние пробелы */
  18. function fixSpaces($text) {
  19. $regexp = '/(\\s*)([,:;])(\\s*)/';
  20. return preg_replace($regexp, '${2} ', $text);
  21. }
  22.  
  23. /* Исправляет текст */
  24. function fixText($text) {
  25. $signes = array();
  26. $signIndex = 0;
  27. $regexp = '/[.?!]/';
  28. $fixed = '';
  29.  
  30. if (preg_match_all($regexp, $text, $signes)) {
  31. $lines = preg_split($regexp, $text, -1, PREG_SPLIT_NO_EMPTY);
  32. }
  33.  
  34. foreach ($lines as $key => $line) {
  35. $capitalized = makeFirstLetterUppercase(trim($line));
  36. $fixed .= fixSpaces($capitalized) . $signes[0][$signIndex] . ' ';
  37. $signIndex++;
  38. }
  39. echo "{$fixed}\n";
  40. }
  41.  
  42. foreach ($texts as $key => $text) {
  43. fixText($text);
  44. }
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
Ну что. Не смотрел еще black mesa. Я собирался скачать, но все как-то некогда было. 
Roses are red, and violets are blue. Whatever you do i'll keep it for you. 
Привет! Есть 2 функции, preg_split и explode, не понимаю, в чем между ними разница?