- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
function Parser($html,$safelevel=1,$censored=false,$typo=true,$crop=0)
{
/* v2
# 17/10/01
html обезапасиваемая строка
safelevel указывает разрешенные теги: 0 = все разрешены
1 = B,I,U,FONT,P,DIV,CENTER,IMG,A,SPAN,TABLE,TD,TR,INPUT,FORM,TEXTAREA,SCRIPT
2 = B,I,U,FONT,P,DIV,CENTER,IMG,A,SPAN,TABLE,TD,TR
3 = B,I,U,FONT,P,DIV,CENTER,IMG,A,SPAN
4 = B,I,U,FONT,CENTER,IMG,A
5 = B,I,U,IMG,A
6 = B,I,U,IMG
7 = B,I,U,A
8 = IMG,A
9 = B,I,A
10 = I,A
11 = A
12 = никакие
"STRING" = указать самому (в формате <a><b><c>)
censored пропускать-ли через цензор
typo пропускать-ли через сраный типограф
*/
# обезопасиваем
switch ($safelevel)
{
case 0: $return = $html; break;
case 1: $return = strip_tags($html,"<b><i><u><font><p><div><center><img><a><span><table><td><tr><input><form><textarea><script>"); break;
case 2: $return = strip_tags($html,"<b><i><u><font><p><div><center><img><a><span><table><td><tr>"); break;
case 3: $return = strip_tags($html,"<b><i><u><font><p><div><center><img><a><span>"); break;
case 4: $return = strip_tags($html,"<b><i><u><font><center><img><a>"); break;
case 5: $return = strip_tags($html,"<b><i><u><img><a>"); break;
case 6: $return = strip_tags($html,"<b><i><u><img>"); break;
case 7: $return = strip_tags($html,"<b><i><u><a>"); break;
case 8: $return = strip_tags($html,"<img><a>"); break;
case 9: $return = strip_tags($html,"<b><i><a>"); break;
case 10: $return = strip_tags($html,"<i><a>"); break;
case 11: $return = strip_tags($html,"<a>"); break;
case 12: $return = strip_tags($html); break;
default: $return=addslashes($return); break;
}
# если censored=true, то цензорим все, сносим хуи и пёзды.
# upd: к сожалению, цензор, спизженый где-то в сети, оказался корявым и мы временно будем читать мат.
if ($censored==false)
{
$return=str_replace("!!!!!!!!!!","! я идиот, убейте меня кто нибудь !",$return);
$return=str_replace("))))))))))","! я идиот, убейте меня кто нибудь !",$return);
}
# если typo=true то обрабатываем сраным типографом
if ($typo==true)
{
$typog = new Typographus();
$return = $typog->process($return);
}
if ($crop!=0)
{
$return = CropString($crop,$return);
}
return $return;
}