16,749
社区成员
发帖
与我相关
我的任务
分享
现有个html文件,里面大概内容如下:
<html>
<body>
<table>
......
</table>
<object>
classid="11111111-1111-1111-1111-111111111111" id=object
</object>
<object>
classid="22222222-2222-2222-2222-222222222222" id=object
</object>
<object>
classid="33333333-3333-3333-3333-333333333333" id=object
</object>
<body>
</html>
通过拆分字符串方式已经实现了,现把代码贴出来
function TForm2.DeleteStr(S, DelStr: string): string;
var
PreHtml, PreReserveHtml, NextHtml: string;
iPos: Integer;
begin
iPos := Pos(DelStr, s);
while iPos > 0 do
begin
//取前段
PreHtml := Copy(s, 1, ipos - 1);
//取后段
NextHtml := Copy(s, iPos, Length(s));
//反转字符串
PreReserveHtml := StrUtils.ReverseString(PreHtml);
Delete(PreReserveHtml, 1, Pos('tcejbo<', PreReserveHtml) + 6);
PreHtml := ReverseString(PreReserveHtml);
Delete(NextHtml, 1, Pos('</object>', NextHtml) + 8);
s := PreHtml + NextHtml;
iPos := Pos(DelStr, s);
end;
Result := s;
end;
s:=html;
sout:='';
while gettag(s,'<object>','</object>', b,e) do
begin
sub:=copy(s,b,e-b+1);
if pos(sub,'1111111...')<1 then
sout:=sout+copy(s,1,e+8)
else
sout:=sout+copy(s,1,b-1);
delete(s,1,e+8);
end;