fork 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. $text3 = "проверочка";
  9. #---------------------------------------------------------------------------------------------------#
  10.  
  11. $texts = array($text0, $text1, $text2, $text3);
  12.  
  13. /* Делает первую букву в строке заглавной */
  14. function makeFirstLetterUppercase($text) {
  15. return mb_strtoupper(mb_substr($text, 0, 1)) . mb_substr($text, 1);
  16. }
  17.  
  18. /* Убирает лишние пробелы */
  19. function fixSpaces($text) {
  20. $regexp = '/(\\s*)([,:;])(\\s*)/';
  21. return preg_replace($regexp, '${2} ', $text);
  22. }
  23.  
  24. /* Исправляет текст */
  25. function fixText($text) {
  26. $signes = array();
  27. $signIndex = 0;
  28. $regexp = '/[.?!]/';
  29. $fixed = '';
  30.  
  31. if (preg_match_all($regexp, $text, $signes)) {
  32. $lines = preg_split($regexp, $text, -1, PREG_SPLIT_NO_EMPTY);
  33. }
  34.  
  35. foreach ($lines as $key => $line) {
  36. $capitalized = makeFirstLetterUppercase(trim($line));
  37. $fixed .= fixSpaces($capitalized) . $signes[0][$signIndex] . ' ';
  38. $signIndex++;
  39. }
  40. echo "{$fixed}\n";
  41. }
  42.  
  43. foreach ($texts as $key => $text) {
  44. fixText($text);
  45. }
Success #stdin #stdout #stderr 0.01s 20520KB
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, не понимаю, в чем между ними разница? 

stderr
PHP Notice:  Undefined variable: lines in /home/EMGKFQ/prog.php on line 37
PHP Warning:  Invalid argument supplied for foreach() in /home/EMGKFQ/prog.php on line 37