fork(2) download
  1. <?php
  2.  
  3.  
  4. //$text = "ну что. не смотрел еще black mesa.я собирался скачать ,но все как-то некогда было.";
  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. function trim_value(&$value) //функция для удаления пробелов
  9. {
  10. $value = trim($value);
  11. }
  12.  
  13. function makeFirstLetterUppercase(&$parts) { //функция которая делает буквы заглавными
  14. /* не понял, почему надо писать &перед переменной, взял из мануала */
  15. $letters = mb_substr($parts, 0, 1);
  16. $upLetters = mb_strtoupper($letters);
  17. $parts = mb_substr($parts, 1);
  18. $parts = $upLetters . $parts;
  19. }
  20.  
  21. function fixText($fixedText) { //фиксит текст регуляркой - правильные пробелы
  22. $regexp = '/( *)([,.;:])( *)/';
  23. $fixedText = preg_replace($regexp, '$2 ', $fixedText);
  24. return $fixedText;
  25. }
  26.  
  27. $parts = explode(".", $text); //разбиваем текст на предложения
  28. /* по идее надо еще разбивать в ? и !, но не понял как можно их в explode запихать */
  29. array_walk($parts, 'trim_value'); //удаление пробелов в начале и конце строк
  30. array_walk($parts, 'makeFirstLetterUppercase'); //замена первых букв предложений на заглавные
  31. $newText = implode(". ", $parts); //объединение предложений в строку
  32. $result = fixText($newText);
  33. echo "$result\n";
  34.  
  35.  
Success #stdin #stdout 0.02s 24192KB
stdin
Standard input is empty
stdout
Привет. Есть 2 функции, preg_split и explode, не понимаю, в чем между ними разница.