fork(6) download
  1. <?php
  2.  
  3. // $text = "ну что. не смотрел еще black mesa.я собирался скачать ,но все как-то некогда было.";
  4. // Для тестов
  5. // $text = "roses are red,and violets are blue.whatever you do i'll keep it for you.";
  6. $text = "привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница.";
  7.  
  8. /* исправляет текст */
  9. function fixText($text) {
  10. $regexp = "/[ ]?+[,]([a-z|а-я])/ui";
  11. $regexp2 = "/([.!?])([a-z|а-я])/ui";
  12. $res1 = preg_replace ( $regexp, ", $1", $text );//исправляем пробелы перед знаками препинания
  13. $res2 = preg_replace ( $regexp2, "$1 $2", $res1 );//исправляем пробелы после знаков препинания
  14. $arr = [ ];
  15. $arr = preg_split ( "//u", $res2, - 1, PREG_SPLIT_NO_EMPTY );//разбиваем строку на массив символов
  16. $arr[0]=mb_strtoupper($arr[0]);//первый символ строки в заглавную букву
  17. for($i = 0; $i < (count ( $arr ) - 2); $i ++) {//первые символы оставшихся предложений в заглавную букву
  18. if (($arr [$i] == "." | $arr [$i] == "!" | $arr [$i] == "?") && $arr [$i + 1] == " ") {
  19. $arr [$i + 2] = mb_strtoupper ( $arr [$i + 2] );
  20. }
  21. }
  22. $res3 = implode ( "", $arr );
  23. return $res3;
  24. }
  25. $text = fixText ( $text );
  26. echo "$text\n";
Success #stdin #stdout 0.02s 24448KB
stdin
Standard input is empty
stdout
Привет. Есть 2 функции, preg_split и explode, не понимаю, в чем между ними разница.