Thema: Delphi HTML Tags entfernen

Einzelnen Beitrag anzeigen

mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: HTML Tags entfernen

  Alt 16. Jan 2008, 12:43
Optimierte Version, die einzelne < oder > erkennt:
Delphi-Quellcode:
function StripTags( line: string): string;
var
   p, p1, p2, pr, pt: PChar;
begin
   p:= PChar(line);
   while( p <> nil) and ( p <> '') do
   begin
      p1 := StrScan( p, '<');
      if p1 <> nil then
      begin
        p2 := StrScan( p1, '>');
        pt := StrScan( p1+1, '<');
        if pt <> Nil then
            if pt < p2 then //weiteres < vor >
            begin
              StrLCopy( pr, p, p1-p);
              Result := Result + pr;
              p := p1;
              p1 := pt;
            end;
        if p2 <> Nil then
        begin
          StrLCopy( pr, p, p1-p);
          Result := Result + pr;
          p := p2+1;
        end
        else
        begin
          Result := Result + p;
          p:= nil;
        end
      end
      else
      begin
        Result := Result + p;
        p:= nil;
      end;
   end;
end;
Problem nur noch wenn beides in "richtiger" Reihenfolge auftritt.
Markus Kinzler
  Mit Zitat antworten Zitat