1. Pascal / Говнокод #28774

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    function ReplaceHTMLSpec(First, Last, Text, RepTo, RepEd:string):string;
    var
      P:Integer;
      Temp:string;
    begin
      Temp:='';
      while True do
      begin
        P:=AnsiPos(First, Text); // нашли первое вхождение тега...
        if P =0 then Break;
        begin
          Delete(Text, P, Length(First)); // обработали тег...
          Insert(RepTo, Text, P);
          P:=PosEx(Last,Text,P); // ищем вхождение закрывающего тега...
          if P > 0 then
          begin
            Delete(Text, P, Length(Last)); // обработали тег.
            Insert(RepEd, Text, P);
          end;
        end;
      end;
      Result:=text;
    end;
    
    function DecorateText(S:string):string;
    var
      Temp:string;
    begin
      Result:=s;
    
     {замена некоторых распространенных тегов}
      Result:=StringReplace(Result,'<br />','',[rfreplaceall]); // движок не режет переводы строк, нет необходимости заменять <br> на #13#10.
      Result:=StringReplace(Result,'&quot;','"',[rfreplaceall]);
      Result:=StringReplace(Result,'&amp;','&',[rfreplaceall]);
      Result:=StringReplace(Result,'&lt;','<',[rfreplaceall]);
      Result:=StringReplace(Result,'&gt;','>',[rfreplaceall]);
      Result:=StringReplace(Result,'<i>','[i]',[rfreplaceall]);
      Result:=StringReplace(Result,'</i>','[/i]',[rfreplaceall]);
      Result:=StringReplace(Result,'<b>','[b]',[rfreplaceall]);
      Result:=StringReplace(Result,'</b>','[/b]',[rfreplaceall]);
    
      Temp:='';
      Result:=ReplaceHTMLSpec('<span style="color:white;">','</span>',Result,'[color=white]','[/color]');
      Result:=ReplaceHTMLSpec('<span style="color:red;">','</span>',Result,'[color=red]','[/color]');
      Result:=ReplaceHTMLSpec('<span style="color:blue;">','</span>', Result, '[color=blue]','[/color]');
      Result:=ReplaceHTMLSpec('<span style="color:green;">','</span>',Result,'[color=green]','[/color]');
      Result:=ReplaceHTMLSpec('<pre><code class="">','</code></pre>',Result,'[code]','[/code]');
      Result:=ReplaceHTMLSpec('<span style="font-size:10px;">','</span>',Result,'[size=10]','[/size]');
      Result:=ReplaceHTMLSpec('<span style="font-size:15px;">','</span>',Result,'[size=15]','[/size]');
      Result:=ReplaceHTMLSpec('<span style="font-size:20px;">','</span>',Result,'[size=20]','[/size]');
      Result:=ReplaceHTMLSpec('<span style="text-decoration:underline;">','</span>',Result,'[u]','[/u]');
      Result:=ReplaceHTMLSpec('<span style="text-decoration:line-through;">','</span>',Result,'[s]','[/s]');
      Result:=ReplaceHTMLSpec('<span style="text-decoration:blink;">','</span>',Result,'[blink]','[/blink]');
    end;

    Процедура для замены HTML-тегов на bb-codes, для их корректной обработки движком сайта,
    при копировании/перепостинге комментария флудером.

    Запостил: DOKTOP_CMErMA, 27 Апреля 2023

    Комментарии (1) RSS

    • Ох, ебут твою мати, какое кошерное говнецо!
      Ответить

    Добавить комментарий