fork(1) download
  1. <?php
  2.  
  3.  
  4. $text = "Жы,ши пишы с буквой и. Сдесь зделаю ошыбку а ты попробуй найди:координально.";
  5. $regexp = array(
  6. '/[а-яё,:.]*\\sкоординально[,:]?\\s[а-яё]*/ui' => "Ошибка в слове \"кардинально\"",
  7. '/[а-яё,:.]*\\sсдесь[,:]?\\s[а-яё]*/ui' => "Ошибка в слове \"здесь\"",
  8. '/[а-яё,:.]*\\sздела[люн][,:]?\\s[а-яё]*/ui' => "Приставки \"з\" не бывает",
  9. '/[а-яё]+[,:.][а-яё]+/ui' => "Пропущен пробел после знака",
  10. '/[а-яё,:.]*\\s?[а-яё]*[жш]ы[а-яё]*[,:]?\\s?[а-яё]*/ui' => "Ошибка в буквосочетании",
  11. '/[а-яё]+\\sа\\s[а-яё]+/ui' => "Пропущена запятая перед \"а\""
  12. );
  13. $mistakes = array();
  14.  
  15. foreach ($regexp as $mistake => $message) {
  16. if (preg_match_all($mistake, $text, $mistakes)) {
  17. foreach ($mistakes as $keys => $value) {
  18. foreach ($value as $number => $mistake1) {
  19. echo "{$message}: {$mistake1}\n";
  20. }
  21. }
  22. }
  23. }
Success #stdin #stdout 0.02s 52432KB
stdin
Standard input is empty
stdout
Ошибка в слове "здесь": и. Сдесь зделаю
Приставки "з" не бывает: Сдесь зделаю ошыбку
Пропущен пробел после знака: Жы,ши
Пропущен пробел после знака: найди:координально
Ошибка в буквосочетании: Жы,ши пишы с
Ошибка в буквосочетании: зделаю ошыбку а
Пропущена запятая перед "а": ошыбку а ты