fork download
  1. <?php
  2.  
  3. // Текст:
  4. $text = <<<EOF
  5. hello test
  6. Пocтaвкa мяco гoвядины,
  7. бecкостнoe для нужд государственного
  8. бюджетного учреждения здравоохранения
  9. Республики Башкортостан Инфекционная
  10. клиническая больница № 4 города Уфа
  11. EOF
  12. ;
  13.  
  14. // Поиск опечаток и выделение опечаток
  15. $regexp = array(
  16. '/([а-яёА-ЯЁ])([a-zA-Z])/u',
  17. '/([a-zA-Z])([а-яёА-ЯЁ])/u'
  18. );
  19.  
  20. $select = array(
  21. '$1[$2]',
  22. '[$1]$2'
  23. );
  24. // Замена опечаток
  25. $replace = array(
  26. 'a' => 'а',
  27. 'c' => 'с',
  28. 'e' => 'е',
  29. 'o' => 'о'
  30. );
  31.  
  32. // Проверяем текст и выделяем квадратными скобками опечатки
  33. function findAndSelect ($regexp, $select, $text)
  34. {
  35. $textSelected = preg_replace ($regexp, $select, $text, -1, $count);
  36. echo "В тексте допущенo {$count} очепяток:\n{$textSelected}\n\n";
  37. }
  38.  
  39. findAndSelect ($regexp, $select, $text);
  40.  
  41. // Заменяем опечатки
  42. $text = strtr ($text, $replace);
  43. findAndSelect ($regexp, $select, $text); //проверяем не остались ли ошибок
  44. ?>
Success #stdin #stdout 0.02s 52472KB
stdin
Standard input is empty
stdout
В тексте допущенo 9 очепяток:
hello test 
П[o][c]т[a]вк[a] мя[c]o г[o]вядины,
б[e][c]костн[o]e для нужд государственного
бюджетного учреждения здравоохранения
Республики Башкортостан Инфекционная
клиническая больница № 4 города Уфа 

В тексте допущенo 5 очепяток:
[h]е[l][l]о [t]е[s]t 
Поставка мясо говядины,
бескостное для нужд государственного
бюджетного учреждения здравоохранения
Республики Башкортостан Инфекционная
клиническая больница № 4 города Уфа