<?


function smiles($msg)
{
global $db;

$result = $db->sql_query ("SELECT `sim`,`name` FROM `smiles_spis`"); 
while($smile = $db->sql_fetchrow($result))
{
$smile['sim']=stripcslashes(htmlspecialchars($smile['sim']));
$msg = str_replace("$smile[sim]", "<img src=\"/smiles/$smile[name].gif\" alt=\"\" />", $msg);
}
return $msg;
}

echo smiles($msg);


/*
function smiles($msg)
{
global $db, $set,$user;

$f_smiles=file(H."smiles/smiles.txt");
for ($i=0;$i<count($f_smiles);$i++)
{
$str_sm=explode(' ',trim($f_smiles[$i]));
$str_sm2='';
for ($z=1;$z<count($str_sm);$z++)
{
if ($z>1){$str_sm2.=' ';}
$str_sm2.=$str_sm[$z];
}
$str_sm2=explode(',',$str_sm2);
for ($i2=0;$i2<count($str_sm2);$i2++)
{
$str_sm2[$i2]=stripcslashes(htmlspecialchars($str_sm2[$i2]));
$msg=str_replace("$str_sm2[$i2]", "<img src=\"/smiles/$str_sm[0].gif\" alt=\"\" />", $msg);
}
}
if ($user['level']>3){
$f_smiles=file(H."smiles/smiles_mod.txt");
for ($i=0;$i<count($f_smiles);$i++)
{
$str_sm=explode(' ',trim($f_smiles[$i]));
$str_sm2='';
for ($z=1;$z<count($str_sm);$z++)
{
if ($z>1){$str_sm2.=' ';}
$str_sm2.=$str_sm[$z];
}
$str_sm2=explode(',',$str_sm2);
for ($i2=0;$i2<count($str_sm2);$i2++)
{
$str_sm2[$i2]=stripcslashes(htmlspecialchars($str_sm2[$i2]));
$msg=str_replace("$str_sm2[$i2]", "<img src=\"/smiles/$str_sm[0].gif\" alt=\"\" />", $msg);
}
}}
return $msg;
}*/


function links_preg1($arr)
{
return '<a href="'.$arr[1].'">'.$arr[2].'</a>';
}
function links_preg2($arr)
{
return $arr[1].'<a href="'.$arr[2].'">'.$arr[2].'</a>'.$arr[4];
}

function links($msg)
{
$msg=preg_replace_callback('~\[url=([^ \r\n\t`\'"]+)\](.*?)\[/url\]~iu', 'links_preg1', $msg);
$msg=preg_replace_callback('~(^|\s)([a-z]+://([^ \r\n\t`\'"]+))(\s|$)~iu', 'links_preg2', $msg);
return $msg;
}
$versiya = '';
function bbcodehightlight($arr)
{
$arr[0]=html_entity_decode($arr[0], ENT_QUOTES, 'UTF-8');
$arr[0]=preg_replace('#<img src="(.*?)" alt="(.*?)" />#sui', '\\2', $arr[0]);
return '<div class="" style="overflow:scroll;clip:auto;max-width:480px;">'.preg_replace('#<code>(.*?)</code>#si', '\\1' ,highlight_string($arr[0],1)).'</div>'."\n";
}



function BBcode($msg)
{
global $user;
////if($user['level'] >= 5 or $user['id'] == 0){
///if($msg['user_id'] == 3)$msg = preg_replace('#\[img\](.+?)[/img]#i', '<img src="$1" />', $msg);
$msg=preg_replace('#\[б\](.*?)\[/б\]#si', '<span style="font-weight: bold;">\1</span>', $msg);
$msg=preg_replace('#\[b\](.*?)\[/b\]#si', '<span style="font-weight: bold;">\1</span>', $msg);
$msg=preg_replace('#\[i\](.*?)\[/i\]#si', '<span style="font-style: italic;">\1</span>', $msg);
$msg=preg_replace('#\[u\](.*?)\[/u\]#si', '<span style="text-decoration: underline;">\1</span>', $msg);

$msg=preg_replace('#\[b\](.*?)\[/b\]#si', '<span style="font-weight: bold;">\1</span>', $msg);
$msg=preg_replace('#\[i\](.*?)\[/i\]#si', '<span style="font-style: italic;">\1</span>', $msg);
$msg=preg_replace('#\[q\](.*?)\[/q\]#si', '<span style="text-decoration: underline;">\1</span>', $msg);
$msg=preg_replace('#\[del\](.*?)\[/del\]#si', '<del>\1</del>', $msg);

$msg=preg_replace('#\[small\](.*?)\[/small\]#si', '<span style="font-size: small;">\1</span>', $msg);
$msg=preg_replace('#\[big\](.*?)\[/big\]#si', '<span style="font-size: large;">\1</span>', $msg);
$msg=preg_replace('#\[blink\](.*?)\[/blink\]#si', '<blink>\1</blink>', $msg);

$msg=preg_replace('#\[red\](.*?)\[/red\]#si', '<span style="color:#FF0000;">\1</span>', $msg);
$msg=preg_replace('#\[green\](.*?)\[/green\]#si', '<span style="color:#00FF00;">\1</span>', $msg);
$msg=preg_replace('#\[blue\](.*?)\[/blue\]#si', '<span style="color:#0000FF;">\1</span>', $msg);

$msg=preg_replace('#\[yellow\](.*?)\[/yellow\]#si', '<span style="color:#ffff22;">\1</span>', $msg);

$msg=preg_replace('#\[fea\](.*?)\[/fea\]#si', '<span style="color:#FF00FF;">\1</span>', $msg);
///}
return $msg;
}define('vb4', true);

function br($msg,$br='<br />')
{
	return preg_replace("#((<br( ?/?)>)I\nI\r)+#",$br, $msg);
}

function esc($text,$br=NULL)
{
if ($br!=NULL)
for ($i=0;$i<=31;$i++)$text=str_replace(chr($i), NULL, $text);
else{
for ($i=0;$i<10;$i++)$text=str_replace(chr($i), NULL, $text);
for ($i=11;$i<20;$i++)$text=str_replace(chr($i), NULL, $text);
for ($i=21;$i<=31;$i++)$text=str_replace(chr($i), NULL, $text);
}
return $text;
}


function text($str,$br=true,$html=true,$smiles=true,$links=true,$bbcode=true)
{

if ($html==true)

if ($smiles==true)
$str=smiles($str);


if ($links==true)
$str=links($str);


if ($bbcode==true)
$str=bbcode($str);



if ($br==true){
$str=br($str);
$str=esc($str);
}
else
{

$str=esc($str);
}

return $str;
}


function color_msg($text)
{
global $db, $set,$user, $msg;
if($user['level'] >= 5 or $user['id'] == 0){
if ($msg['color']==1)$text = '[red]'.$msg['msg'].'[/red]';
elseif ($msg['color']==2)$text = '[blue]'.$msg['msg'].'[/blue]';
elseif ($msg['color']==3)$text = '[fea]'.$msg['msg'].'[/fea]';
elseif ($msg['color']==4)$text = '[green]'.$msg['msg'].'[/green]';
}
return $text;
}

function bb_msg($text)
{
global $db, $set,$user, $msg;
if($user['level'] >= 5 or $user['id'] == 0){
if ($msg['bb']==1)$text = '[i]'.$text.'[/i]';
elseif ($msg['bb']==2)$text = '[u]'.$text.'[/u]';
elseif ($msg['bb']==3)$text = '[i][u]'.$text.'[/u][/i]';
elseif ($msg['bb']==4)$text = '[b]'.$text.'[/b]';
elseif ($msg['bb']==5)$text = '[i][b]'.$text.'[/b][/i]';
elseif ($msg['bb']==6)$text = '[big]'.$text.'[/big]';
}
return $text;
}

function emo_msg($text)
{
global $db, $set,$user, $msg;
if ($msg['emo']==1) $text = '[Радостно] '.$text;
elseif ($msg['emo']==2) $text = '[Печально] '.$text;
elseif ($msg['emo']==3) $text = '[Удивленно] '.$text;
elseif ($msg['emo']==4) $text = '[Ласково] '.$text;
elseif ($msg['emo']==5) $text = '[Смущенно] '.$text;
elseif ($msg['emo']==6) $text = '[Кокетливо] '.$text;
elseif ($msg['emo']==7) $text = '[Обиженно] '.$text;
elseif ($msg['emo']==8) $text = '[Настойчиво] '.$text;
elseif ($msg['emo']==9) $text = '[Шепотом] '.$text;
elseif ($msg['emo']==10) $text = '[Задумчиво] '.$text;
elseif ($msg['emo']==11) $text = '[Злобно] '.$text;
return $text;
}


function antir($msg){
global $db, $set,$user;
$msg = str_replace("((http://))((([a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z;]{2,3}))|(([0-9]{1,3}\.){3}([0-9]{1,3})))((/|\?)[a-z0-9~#%&'_\+=:;\?\.-]*)*)", "".$set['antir']."", $msg);
$msg=str_replace(".wab.","".$set['antir']."",$msg);
$msg=str_replace(".com","".$set['antir']."",$msg);
$msg=str_replace(".net","".$set['antir']."",$msg);
$msg=str_replace(".org","".$set['antir']."",$msg);
$msg=str_replace(".kz","".$set['antir']."",$msg);
$msg=str_replace(".ua","".$set['antir']."",$msg);

$msg=str_replace(".ru","".$set['antir']."",$msg);
$msg=str_replace(",ru","".$set['antir']."",$msg);
$msg=str_replace("-ru","".$set['antir']."",$msg);

$msg=str_replace("-ru","".$set['antir']."",$msg);
$msg=str_replace("_ru","".$set['antir']."",$msg);
$msg=str_replace("-net","".$set['antir']."",$msg);
$msg=str_replace(",net","".$set['antir']."",$msg);

$msg=str_replace("-su","".$set['antir']."",$msg);
$msg=str_replace("_su","".$set['antir']."",$msg);
$msg=str_replace(".su","".$set['antir']."",$msg);
$msg=str_replace(",su","".$set['antir']."",$msg);

$msg=str_replace("-mobi","".$set['antir']."",$msg);
$msg=str_replace("_mobi","".$set['antir']."",$msg);
$msg=str_replace(".mobi","".$set['antir']."",$msg);
$msg=str_replace(",mobi","".$set['antir']."",$msg);

$msg=str_replace("-info","".$set['antir']."",$msg);
$msg=str_replace("_info","".$set['antir']."",$msg);
$msg=str_replace(".info","".$set['antir']."",$msg);
$msg=str_replace(",info","".$set['antir']."",$msg);

$msg=str_replace("-com","".$set['antir']."",$msg);
$msg=str_replace("_com","".$set['antir']."",$msg);
$msg=str_replace(".com","".$set['antir']."",$msg);
$msg=str_replace(",com","".$set['antir']."",$msg);

$msg=str_replace("-msk","".$set['antir']."",$msg);
$msg=str_replace("_msk","".$set['antir']."",$msg);
$msg=str_replace(".msk","".$set['antir']."",$msg);
$msg=str_replace(",msk","".$set['antir']."",$msg);

$msg=str_replace("-tk","".$set['antir']."",$msg);
$msg=str_replace("_tk","".$set['antir']."",$msg);
$msg=str_replace(".tk","".$set['antir']."",$msg);
$msg=str_replace(",tk","".$set['antir']."",$msg);

$msg=str_replace(".in","".$set['antir']."",$msg);


$msg=str_replace("-cn","".$set['antir']."",$msg);
$msg=str_replace("_cn","".$set['antir']."",$msg);
$msg=str_replace(".cn","".$set['antir']."",$msg);
$msg=str_replace(",cn","".$set['antir']."",$msg);

$msg=str_replace("-biz","".$set['antir']."",$msg);
$msg=str_replace("_biz","".$set['antir']."",$msg);
$msg=str_replace(".biz","".$set['antir']."",$msg);
$msg=str_replace(",biz","".$set['antir']."",$msg);

$msg=str_replace("-h2m","".$set['antir']."",$msg);
$msg=str_replace("_h2m","".$set['antir']."",$msg);
$msg=str_replace(".h2m","".$set['antir']."",$msg);
$msg=str_replace(",h2m","".$set['antir']."",$msg);

$msg=str_replace("-wen","".$set['antir']."",$msg);
$msg=str_replace("_wen","".$set['antir']."",$msg);
$msg=str_replace(".wen","".$set['antir']."",$msg);
$msg=str_replace(",wen","".$set['antir']."",$msg);

$msg=str_replace("-ua","".$set['antir']."",$msg);
$msg=str_replace("_ua","".$set['antir']."",$msg);
$msg=str_replace(".ua","".$set['antir']."",$msg);
$msg=str_replace(",ua","".$set['antir']."",$msg);
return $msg;
}

function antim($text){
$text=strtr($text,array(' епть'=>' блин',
						' сука'=>' не хороший человечеГ',
						' блядь'=>' девушка лёгкого поведения',
						' хуй'=>' мужской орган',
						' пизда'=>' женский орган',
						' сучка'=>' *уПс*',
						' пидор'=>' *уПс*',
						' пидар'=>' *уПс*',
						' пидор'=>' *уПс*',
						' пидрила'=>' *уПс*',
						' чмо '=>' *уПс* ',
						' чмок'=>'чмок',
						'...'=>'',
						'uuu'=>'для лохов',
						'zamoklove'=>'',
						'чатс'=>'для лохов',
						'4атс'=>'для лохов',
						','=>', ',
						'http://'=>'',
						'https://'=>'',
						'4ats'=>'для лохов',
						'4ATS'=>'для лохов',
						'4АTS'=>'для лохов',
						'4аts'=>'для лохов',
						' ебать'=>' *уПс*',
						'упиздякал'=>'ушёл',
						'попиздякал'=>'ушёл',
						' нах '=>' зачем ',
						' йух'=>' мужской орган',
						' базарю'=>' говорю ',
						'счас'=>'сейчас',
						'Блядь'=>'целомудренная девушка',
						'Хуя ли'=>'чего вдруг',
						' пиздец'=>' простите за ФРАНЦУЗКИЙ',
						' попиздякаю'=>'ушёл',
						' ахуеть'=>' я поражон',
						' бля '=>' *уПс* '));
return $text;
}





/*



function antim($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++;
}



*/

/*
function antim($text) {

$s = '[^\wа-я]*?'; // параметр для попуска между буквами для нахождения матерных слов типа "м а т" и тд

$cenzur = '[цензура]'; // на это значения переменной будут заменяться нецензурные слова

 //массив содержащий шаблоны PCRE регулярных выражений, для поиска нецензурных корней
$ArrayPattern = array(
'[^вvw]'.$s.'[еeё]'. $s .'[бb]', 
'[лl]'.$s.'[оo0]'.$s.'[хxh]',
'[еe]'.$s.'[лl]'.$s.'[дd]'.$s.'[аa@]',
'[мm]'.$s.'[uyу]'.$s.'[дd]'.$s.'[^рpr]',
'[пp]'.$s.'[иiеe]'.$s.'[зz3]'.$s.'[дd]',
'[^ю]'.$s.'[бb]'.$s.'[лl]'.$s.'(?:я|ja|j@)', 
'[мm]'.$s.'[аa@оo0]'.$s.'[нn]'.$s.'[дd]',
'[дd]'.$s.'[rpр]'.$s.'[аa@оo0]'.$s.'(?:[ч4]|ch|сh)',
'[хxh]'.$s.'[уyuеe]'.$s.'(?:[ийijрprеёeяюлl]|ja|jа|ju|jи)', 
'[зz3]'.$s.'[аa@]'.$s.'[лl]'.$s.'[уyu]'.$s.'[пp]',
'[гg]'.$s.'[аa@оo0]'.$s.'[нn]'.$s.'[дd]'.$s.'[оo0]',
'[пp]'.$s.'[иiеe]'.$s.'[дd]'.$s.'[аa@оo0иiрpr]'.$s.'[^гgфf]',
 );

// перебираем каждый элемент массива ($ArrayPattern) и добавляем к нему еще нужные предикаты (они подходят для всех элементов массива) 
foreach($ArrayPattern as $key => $value)
 {
   $Pattern[] = '/(.*?)(?:[^\s]*' . $value . '[^\s]*)(.*?)/is';
 }

// выполняем замену в тексте (пришедшем из аргумента функции $text) по шаблонам находящимся в массиве используя функцию preg_replace() 
$no_mat = preg_replace($Pattern , "\\1". $cenzur . "\\2", $text);


// возвращаем текст после замены нецензурных слов

return $no_mat;

 }
*/





function url_replace($m) {
if( !isset($m[3]) ) {
return '<a href="' . $m[1] . '">' . $m[2] . '</a>';
} else {
return '<a href="' . $m[3] . '">' . $m[3] . '</a>';
}}

function img_replace($m) {
if( !isset($m[3]) ) {
return '<img src="' . $m[1] . '" alt="' . $m[2] . '">';
} else {
return '<img src="' . $m[3] . '" alt="' . $m[3] . '">';
}}

//------------------ Функция вставки BB-кода --------------------//
function bb2($text){

$text = preg_replace_callback('~\\[link=(http://.+?)\\](.+?)\\[/link\\]|(http://(www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&amp;_=/%-:#]*)~', 'url_replace', $text);
$text = preg_replace_callback('~\\[imgs=(.+?)\\](.+?)\\[/imgs\\]|((www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&amp;_=/%-:#]*)~', 'img_replace', $text);

return $text;
}




?>