First I replace the tag <p> e </p>
by breaking the Delphi line, then I go through the text looking for the HTML input < and output > ;
Finally I remove HTML special characters.
function TFuncoes.RetiraTagsHTML(ConteudoHTML: string): string;
var
TagInicio, TagFim, TagLength: integer;
begin
//substituo primeiro os parágrafos para saltar a linha
ConteudoHTML := StringReplace(StringReplace(ConteudoHTML//
, '</p>', '</p>' + #10#13, [rfReplaceAll]) //
, ' /p>', ' /p>' + #10#13, [rfReplaceAll]);
TagInicio := Pos('<', ConteudoHTML); // posição de busca de primeira <
while (TagInicio > 0) do
begin // enquanto há uma < em S
TagFim := Pos('>', ConteudoHTML); // encontra a correspondente >
TagLength := TagFim - TagInicio + 1;
Delete(ConteudoHTML, TagInicio, TagLength); // exclui a tag
TagInicio := Pos('<', ConteudoHTML); // pesquisa a proxima <
end;
//Por último substituo os caractéres especiais do HTML
ConteudoHTML := StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(StringReplace(//
ConteudoHTML //
, 'á', 'á', [rfReplaceAll]) //
, 'é', 'é', [rfReplaceAll]) //
, 'í', 'í', [rfReplaceAll]) //
, 'ó', 'ó', [rfReplaceAll]) //
, 'ú', 'ú', [rfReplaceAll]) //
, 'â', 'â', [rfReplaceAll]) //
, 'ê', 'ê', [rfReplaceAll]) //
, 'ô', 'ô', [rfReplaceAll]) //
, 'à', 'à', [rfReplaceAll]) //
, 'ü', 'ü', [rfReplaceAll]) //
, 'ç', 'ç', [rfReplaceAll]) //
, 'ã', 'ã', [rfReplaceAll]) //
, 'õ', 'õ', [rfReplaceAll]) //
, 'ñ', 'ñ', [rfReplaceAll]) //
, 'Á', 'Á', [rfReplaceAll]) //
, 'É', 'É', [rfReplaceAll]) //
, 'Í', 'Í', [rfReplaceAll]) //
, 'Ó', 'Ó', [rfReplaceAll]) //
, 'Ú', 'Ú', [rfReplaceAll]) //
, 'Â', 'Â', [rfReplaceAll]) //
, 'Ê', 'Ê', [rfReplaceAll]) //
, 'Ô', 'Ô', [rfReplaceAll]) //
, 'À', 'À', [rfReplaceAll]) //
, 'Ç', 'Ç', [rfReplaceAll]) //
, 'Ã', 'Ã', [rfReplaceAll]) //
, 'Õ', 'Õ', [rfReplaceAll]) //
, 'Ñ', 'Ñ', [rfReplaceAll]) //
, '&', '&', [rfReplaceAll]) //
, '"', '"', [rfReplaceAll]) //
, '<', '<', [rfReplaceAll]) //
, '>', '>', [rfReplaceAll]) //
, ' ', ' ', [rfReplaceAll] //
);
Result := ConteudoHTML; // retorna o resultado
end;
How are you doing to try to extract?
– wesley luan