fork download
  1. <?php
  2.  
  3.  
  4. //$regexps = array('/(\S*?)([acekopxyABCEHKMOPTXY])(\S*?)/', '/(\S*?)([аекморстухьАВЕКМНОРСТУХ])(\S*?)/u');
  5. // ^-----Регулярка для выделения ВСЕХ опечаток в слове
  6.  
  7. $regexps = array('/(\S*?)([acekopxyABCEHKMOPTXY])(\S*)/', '/(\S*?)([аекморстухьАВЕКМНОРСТУХ])(\S*)/u');
  8. // ^-----Регулярка для выделения ПЕРВОЙ опечатки в слове
  9.  
  10. $text = 'Пocтaвкa мяco гoвядины, бecкостнoe для нужд государственного
  11. бюджетного учреждения здравоохранения Республики Башкортостан Инфекционная
  12. клиническая больница № 4 города Уфа ';
  13.  
  14. $replacement = '$1[$2]$3';
  15. // ^-----Для выделения опечаток
  16. //$replacement = '"$1".$letterReplacements["$2"]."$3"';
  17. // ^-----Для замены опечаток
  18.  
  19. define('LANG_RUS', 0);
  20. define('LANG_ENG', 1);
  21. $langRegexps = array('/[бвгджзилнпфцчшщъыьэюяБГДЖЗИЙЛПФЦЧШЩЫЭЮЯ]/u', '/[bdfghijlmnqrstuvwzDFGIJLNQRSUVWZ]/');
  22.  
  23. $letterReplacements = array(
  24. 'а' => 'a',
  25. 'е' => 'e',
  26. 'к' => 'k',
  27. 'м' => 'm',
  28. 'о' => 'o',
  29. 'р' => 'p',
  30. 'с' => 'c',
  31. 'т' => 't',
  32. 'у' => 'y',
  33. 'х' => 'x',
  34. 'ь' => 'b',
  35. 'А' => 'A',
  36. 'В' => 'B',
  37. 'Е' => 'E',
  38. 'К' => 'K',
  39. 'М' => 'M',
  40. 'Н' => 'H',
  41. 'О' => 'O',
  42. 'Р' => 'P',
  43. 'С' => 'C',
  44. 'Т' => 'T',
  45. 'У' => 'Y',
  46. 'Х' => 'X');
  47.  
  48. if(preg_match($langRegexps[LANG_RUS],$text)){
  49. //$text = preg_replace_callback($regexps[LANG_RUS], $replacement, $text);
  50. // ^-----Для замены опечаток
  51. $text = preg_replace($regexps[LANG_RUS], $replacement, $text);
  52. // ^-----Для выделения опечаток
  53. } elseif(preg_match($langRegexps[LANG_ENG],$text)){
  54. //$text = preg_replace_callback($regexps[LANG_ENG], $replacement, $text);
  55. // ^----- Для замены опечаток
  56. $text = preg_replace($regexps[LANG_ENG], $replacement, $text);
  57. // ^-----Для выделения опечаток
  58. }
  59.  
  60. echo "$text";
  61.  
  62. ?>
  63.  
Success #stdin #stdout 0.03s 52480KB
stdin
Standard input is empty
stdout
П[o]cтaвкa мя[c]o г[o]вядины, б[e]cкостнoe для нужд государственного 
бюджетного учреждения здравоохранения Республики Башкортостан Инфекционная 
клиническая больница № 4 города Уфа