作者:admin 来源: 日期:2020/11/27 18:57:03 人气: 标签:
function StripHTMLTags(const strHTML: string): string;var P: PChar; InTag: Boolean; i, intResultLength: Integer;begin P := PChar(strHTML); Result := '';
InTag := False; repeat case P^ of '<': InTag := True; '>': InTag := False; #13, #10: ; {do nothing} else if not InTag then begin if (P^ in [#9, #32]) and ((P+1)^ in [#10, #13, #32, #9, '<']) then else Result := Result + P^; end; end; Inc(P); until (P^ = #0);
{convert system characters} Result := StringReplace(Result, '"', '"', [rfReplaceAll]); Result := StringReplace(Result, ''', '''', [rfReplaceAll]); Result := StringReplace(Result, '>', '>', [rfReplaceAll]); Result := StringReplace(Result, '<', '<', [rfReplaceAll]); Result := StringReplace(Result, '&', '&', [rfReplaceAll]); {here you may add another symbols from RFC if you need}end;