procedure HTMLtoCSV(
HTML:
string;
CSV:TStrings);
var RegExpr_TR, RegExpr_TD:TRegExpr;
s:
string;
begin
RegExpr_TR:=TRegExpr.Create;
RegExpr_TD:=TRegExpr.Create;
try
RegExpr_TR.ModifierG:=false;
RegExpr_TR.ModifierI:=true;
RegExpr_TR.Expression :='
<tr><td.*?>failed(.*)</tr>';
RegExpr_TD.ModifierG:=false;
RegExpr_TD.ModifierI:=true;
RegExpr_TD.Expression :='
<td.*?>(.*)</td>';
s:=StringReplace(
HTML, #13, '
', [rfReplaceAll]);
s:=StringReplace(s, #10, '
', [rfReplaceAll]);
if RegExpr_TR.Exec(s)
then begin
repeat
if RegExpr_TD.Exec(RegExpr_TR.Match[1])
then begin
s:='
';
repeat
s:=s + RegExpr_TD.Match[1] + '
;';
until not RegExpr_TD.ExecNext;
CSV.Append(s);
end;
until not RegExpr_TR.ExecNext;
end;
finally
RegExpr_TR.free;
RegExpr_TD.free;
end;
end;