delphi 过滤网页代码 <SCRIPT></SCRIPT>  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 过滤网页代码 <SCRIPT></SCRIPT>


uses StrUtils;

function ClearScript(AHtml: string): string;
const
  csHead = '
  csTail = '';
  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('
    result := nHeadPos > 0;
  end;

  function FindTailPos: boolean;
  begin
    nTailPos := PosEx('', 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);
begin
memo2.Text:=ClearScript(memo1.Text);
end;

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.046145915985107 seconds