<?php
/* ANTIMAT FUNCTION. Copyright (C) 1998-2008 Konstantin Yeliseyev aka kay27. */
/* VERSION 2.2.2, 01.12.2008 */
/* THANX TO: votyak [2], silly-hedgehog, osennjaya. */
/* You may use this function for FREE in your non-commercial projects. */
/* You may NOT change and distribute. */
/* All questions goes to kay27[@]bk.ru */
function antimat($s){
global $antimat_char, $antimat_xxxchars, $antimat_filter, $antimat_wc,
$antimat_xxlen, $antimat_maxlen, $antimat_cnt, $antimat_simple;
$q=''; $r=$s;
for ($i=0;$i<strlen($s);$i++) $q.=$antimat_char[ord($s[$i])];
if ($q!='') {
$n=strlen($q); $i=0;
while ($i<$n) {
while ((($q[$i]<'а')||($q[$i]>'я'))&&($i<$n)) $i++;
$ff=false;
$j=$i+1; if ($j<$n) {
$w=$q[$i]; $lc=$w; $l=1;
while (($j<$n)&&($l<=$antimat_maxlen)&&(!$ff)) {
if (($q[$j]>='а')&&($q[$j]<='я')) {
if ($q[$j]!=$lc) { $lc=$q[$j]; $w.=$lc; $l++; }
for($z=0;$z<$antimat_cnt;$z++) if ($w==$antimat_filter[$z]) {
$ff=true;
if (!$antimat_wc[$z]) if ($j<($n-1)) if (($q[$j+1]>='а')&&($q[$j+1]<='я')) $ff=false;
if ($ff) break;
}
}
$j++;
}
if ($ff) {
for ($z=$i;$z<$j;$z++) if (($q[$z]>='а')&&($q[$z]<='я'))
$r[$z]=$antimat_xxxchars[rand(0,$antimat_xxlen)];
$i=$j;
}
}
if (!$ff) if ($i<$n) while (($q[$i]>='а')&&($q[$i]<='я')&&($i<$n)) $i++;
}
}
$z=str_pad('',$antimat_maxlen,'@');
$as=explode("\r\n",$antimat_simple);
foreach ($as as $w) $q=str_replace($w,substr($z,0,strlen($w)),$q);
for ($i=0;$i<$n;$i++) if ($q[$i]=='@') $r[$i]=$antimat_xxxchars[rand(0,$antimat_xxlen)];
return $r;
}
$antimat_frc=<<<END
Ёё#@ABCDEHKMNOPRTUWXYabcegikmnoprtuvwxy034689АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ$\<{
END;
$antimat_toc=<<<END
ееиаавсденкмиорятишхуаьседиктпоргтиишхуозчбвдабвгдежзийклмнопрстуфхцчшщъыьэюяслхх
END;
$antimat_xxxchars='*#$%&@';
$antimat_list=<<<END
ахуй*
ахуе*
абля*
безпез*
беспез*
бля
блябля*
бляхуй*
блябу*
блян*
бляс*
бляп*
бляд*
блят*
въеб*
выеб*
выиб*
выип*
вьеб*
далбае*
далбое*
долбаеб*
долбаеп*
долбое*
еб
ебл*
ебн*
ебан*
ебал*
ебат*
ебац*
ебаш*
ебе*
еби*
ебон*
ебош*
ебс*
ебу
ебун*
ебуч*
ебущ*
епст*
епся
жоп*
заеб*
заеп*
заиб*
залуп*
золуп*
захуе*
захуи*
захуя*
ибан
ибану*
иби*
издец*
ипать*
ипацц*
ипи
йоб*
йоп*
малаф*
малоф*
молоф*
муда*
муди*
мудо*
наеб*
нах
нахуя*
нахуй*
невъеб*
непизд*
нехуе*
нехуи*
нехуй*
нехуя*
нихуя*
опезд*
остопизд*
отеб*
отъеб*
отьеб*
отсос*
отпизд*
отху*
охуе*
охуи*
охуя*
педар*
педераст*
педик
педри*
пезд*
перееб*
переиб*
перепез*
перепиз*
перехуе*
перехуя*
периеб*
песд*
пидар*
пидор*
пизд*
поеб*
пох
похуи*
похуй*
похую*
похуя*
пнх
поеб*
попизд*
прихуе*
прихуя*
пробляд*
проблят*
проеб*
пропизд*
разпез*
разпиз*
разхуя*
распез*
распиз*
расхуя*
сука
суки*
сучар*
сучон*
сученк*
сучено*
сучкаеб*
сучкаеп*
сучкаиба*
сучкаипа*
сцук*
себись
схуе*
схуя*
съеб*
сьеб*
убля*
уебал
уебать
уебац*
уебис*
уебищ*
уебк*
уебо*
уеботина
уеботину
уебу
хуе*
хуи*
хуй*
хуле
хули
хую*
хуя*
чмо
ьсука*
яботн*
ябат*
END;
$antimat_simple=<<<END
а сучка
блядс
блядь
блятс
бляхуй
ебищ
нахуй
пидор
пизда
пизде
пизди
пиздо
пизду
пизды
проеб
хуел
END;
unset($antimat_char);
//for ($i=0;$i<256;$i++) if ($i<32) $antimat_char[$i]=''; else $antimat_char[$i]=chr($i);
for ($i=0;$i<256;$i++) $antimat_char[$i]=chr($i);
for ($i=0;$i<strlen($antimat_frc);$i++) $antimat_char[ord($antimat_frc[$i])]=$antimat_toc[$i];
$antimat_xxlen=strlen($antimat_xxxchars)-1;
$a=explode("\n",$antimat_list);
unset($antimat_filter);
unset($antimat_wc);
$antimat_maxlen=0;
$antimat_cnt=0;
foreach($a as $s){
$p=strpos($s,'*');
$w=($p!==false);
if ($w) $m=substr($s,0,$p); else $m=rtrim($s);
$antimat_wc[]=$w;
$antimat_filter[]=$m;
if (strlen($m)>$antimat_maxlen) $antimat_maxlen=strlen($m);
$antimat_cnt++;
}
?>