Школоло / Говнокод #28774 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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,'"','"',[rfreplaceall]);
  Result:=StringReplace(Result,'&','&',[rfreplaceall]);
  Result:=StringReplace(Result,'<','<',[rfreplaceall]);
  Result:=StringReplace(Result,'>','>',[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 DOKTOP_CMErMA, (Updated )

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

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

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

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8