function orfFilter($string){ /*- */ $countErrorWords = 1; /* */ $countError = 0; /* , */ $errorWords = array('b', 'd', 'yt', 'jy', 'yf', 'z', 'xnj', 'c', 'cj', 'njn', ',snm', 'f', 'dtcm', "'nj", 'rfr', 'jyf', 'gj', 'yj', 'jyb', 'r', 'e', 'ns', 'bp', 'pf', 'ds', 'nfr', ';t', 'jn', 'crfpfnm',"'njn", 'rjnjhsq', 'vjxm', 'xtkjdtr', 'j', 'jlby', 'tot', ',s', 'nfrjq', 'njkmrj', 'ct,z', 'cdjt', 'rfrjq', 'rjulf', 'e;t', 'lkz', 'djn', 'rnj', 'lf', 'ujdjhbnm', 'ujl', 'pyfnm', 'vjq', 'lj', 'bkb', 'tckb', 'dhtvz', 'herf', 'ytn', 'cfvsq', 'yb', 'cnfnm', ',jkmijq', 'lf;t', 'lheujq', 'yfi', 'cdjq', 'ye', 'gjl', 'ult', 'ltkj', 'tcnm', 'cfv', 'hfp', 'xnj,s', 'ldf', 'nfv', 'xtv', 'ukfp', ';bpym', 'gthdsq', 'ltym', 'nenf', 'ybxnj', 'gjnjv', 'jxtym', '[jntnm', 'kb', 'ghb', 'ujkjdf', 'yflj', ',tp', 'dbltnm', 'blnb', 'ntgthm', 'nj;t', 'cnjznm', 'lheu', 'ljv', 'ctqxfc', 'vj;yj', 'gjckt', 'ckjdj', 'pltcm', 'levfnm', 'vtcnj', 'cghjcbnm', 'xthtp', 'kbwj', 'njulf', 'dtlm', '[jhjibq', 'rf;lsq', 'yjdsq', ';bnm', 'ljk;ys', 'cvjnhtnm', 'gjxtve', 'gjnjve', 'cnjhjyf', 'ghjcnj', 'yjuf', 'cbltnm', 'gjyznm', 'bvtnm', 'rjytxysq', 'ltkfnm', 'dlheu', 'yfl', 'dpznm', 'ybrnj', 'cltkfnm', 'ldthm', 'gthtl', 'ye;ysq', 'gjybvfnm', 'rfpfnmcz', 'hf,jnf', 'nhb', 'dfi', 'e;', 'ptvkz', 'rjytw', 'ytcrjkmrj', 'xfc', 'ujkjc', 'ujhjl', 'gjcktlybq', 'gjrf', '[jhjij', 'ghbdtn', 'pljhjdj', 'pljhjdf', 'ntcn', 'yjdjq', 'jr', 'tuj', 'rjt', 'kb,j', 'xnjkb', 'ndj.', 'ndjz', 'nen', 'zcyj', 'gjyznyj', 'x`', 'xt'); /* */ $delChar = array('!' => '', '&' => '', '?' => '', '/' => ''); /**/ $expectWord = array('.'=>'/me'); /* */ $arrReplace = array('q'=>'', 'w'=>'', 'e'=>'', 'r'=>'', 't'=>'', 'y'=>'', 'u'=>'', 'i'=>'', 'o'=>'', 'p'=>'', '['=>'', ']'=>'', 'a'=>'', 's'=>'', 'd'=>'', 'f'=>'', 'g'=>'', 'h'=>'', 'j'=>'', 'k'=>'', 'l'=>'', ';'=>'', "'"=>'', 'z'=>'', 'x'=>'', 'c'=>'', 'v'=>'', 'b'=>'', 'n'=>'', 'm'=>'', ','=>'', '.'=>'', '/'=>'.', '`'=>'', 'Q'=>'', 'W'=>'', 'E'=>'', 'R'=>'', 'T'=>'', 'Y'=>'', 'U'=>'', 'I'=>'', 'O'=>'', 'P'=>'', '{'=>'', '}'=>'', 'A'=>'', 'S'=>'', 'D'=>'', 'F'=>'', 'G'=>'', 'H'=>'', 'J'=>'', 'K'=>'', 'L'=>'', ':'=>'', '"'=>'', '|'=>'/', 'Z'=>'', 'X'=>'', 'C'=>'', 'V'=>'', 'B'=>'', 'N'=>'', 'M'=>'', '<'=>'', '>'=>'', '?'=>',', '~'=>'', '@'=>'"', '#'=>'№', '$'=>';', '^'=>':', '&'=>'?'); /* $arrReplace*/ $arrReplace2 = array_flip($arrReplace); /* */ unset($arrReplace2['.']); unset($arrReplace2[',']); unset($arrReplace2[';']); unset($arrReplace2['"']); unset($arrReplace2['?']); unset($arrReplace2['/']); /* */ $arrReplace = array_merge($arrReplace, $arrReplace2); /* , , */ $string2 = strtr(trim(strtolower($string)), $delChar); $arrString = explode(" ", $string2); /* -*/ foreach ($arrString as $val){ if (array_search($val, $errorWords)){ $countError++; } } return ($countError >= $countErrorWords)?strtr(strtr($string ,$arrReplace),$expectWord):$string; }
Source: https://habr.com/ru/post/140351/
All Articles