Все ленты — последние статьи

Резка Html от тегов и между , но не вырезает ничего между script style и при многострочности

function StripHTML(S: string): string;
var
TagBegin, TagEnd, TagLength: integer;
begin
TagBegin := Pos( '<', S); // search position of first <
 
while (TagBegin > 0) do
begin // while there is a < in S
  TagEnd := Pos('>', S); // find the matching >
  TagLength := TagEnd — TagBegin + 1;
  if (TagLength > 0)
  then begin
  Delete(S, TagBegin, TagLength); // delete the tag
  TagBegin:= Pos( '<', S); // search for next <
  end
  else begin
    break;
  end;
end;
 
Result := S; // give the result
end;

Вариант 2 с твоим кодам не разбирался, я как-то писал себе такое, вот код

 

Код Delphi

function TForm1.delTeg(str:string):string;
  var i:Dword; s:string; start:boolean;
  begin
  start:=false;
  while (pos('<style',str)>0)or(pos('<script',str)>0) do begin
     if pos('<style',str)>0 then
      Delete(str,pos('<style',str),posEx('</style>',str,pos('<style',str))+8-pos('<style',str));
     if pos('<script',str)>0 then
      Delete(str,pos('<script',str),posEx('</script>',str,pos('<script',str))+8-pos('<script',str));
  end;
 
     for i:=0 to length(str)do begin
       if(str[i]='>')then begin
          start:=false; Continue;
        end;
       if (str[i]='<')or(start) then begin
        start:=true; Continue;
        end;
        if (str[i]<>#13)and(str[i]<>#10)and(str[i]<>#0)and(str[i]<>#9)  then
          s:=s+str[i];
     end;
     result:=s;
  end;

Добавлено через 36 секунд
uses StrUtils