- 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;
}