本文整理自网络,侵删。
uses StrUtils;
function ClearScript(AHtml: string): string;const csHead = '<SCRIPT'; csTail = '</SCRIPT>'; cnHead = length(csHead); cnTail = length(csTail);var nHeadPos: integer; nTailPos: integer; nNewSearchPos: integer; nHtmlLength: integer; sCapHtml: string; sFilteredHtml: string; nHtmlPos: integer; nSecSize: integer;
function FindHeadPos: boolean; begin nHeadPos := PosEx('<SCRIPT', sCapHtml, nNewSearchPos); result := nHeadPos > 0; end;
function FindTailPos: boolean; begin nTailPos := PosEx('</SCRIPT>', sCapHtml, nHeadPos + cnHead); result := nTailPos > 0; end;
begin
nHtmlLength := length(AHtml); nNewSearchPos := 1; nHtmlPos := 1; sCapHtml := UpperCase(AHtml);
while FindHeadPos do begin
nSecSize := nHeadPos - nHtmlPos; if nSecSize > 0 then begin sFilteredHtml := sFilteredHtml + Copy(AHtml, nHtmlPos, nSecSize); end;
nHtmlPos := nHeadPos + cnHead;
if FindTailPos then begin nNewSearchPos := nTailPos + cnTail; nHtmlPos := nTailPos + cnTail; end else break;
end;
nSecSize := nHtmlLength - nHtmlPos + 1;
if nSecSize > 0 then begin sFilteredHtml := sFilteredHtml + Copy(AHtml, nHtmlPos, nSecSize); end; result := sFilteredHtml;end;
procedure TForm2.Button1Click(Sender: TObject);beginmemo2.Text:=ClearScript(memo1.Text);end;
相关阅读 >>
Delphi 在状态条中显示进度条,webbrowser示例
Delphi 判断是否为空('none', 'null', '')
Delphi stringtowidestring widestringtostring
更多相关阅读请进入《Delphi》频道 >>