Excluir tags de um arquivo html

Delphi

29/04/2003

Oi pessoal!!!

Como faço para excluir todas as tags de um arquivo html ee deixar soh o texto?

Estou tentando usando um TStrinList mas não estou conseguindo...

Acho que o caminho é procurar por ´<´ e excluir tudo que tenha até ´>´ quantas vezes for necessário até o fim do arquivo, soh que naum estou conseguindo fazer isto...

Valeu!
Tiago


Tiago Farinon

Tiago Farinon

Curtidas 0

Respostas

Aroldo Zanela

Aroldo Zanela

29/04/2003

Colega,

Acho que você está no caminho.
Pos(´<´,Linha) para pegar a posição inicial;
Pos(´>´,Linha) para pegar a posição final;
QtdeCaracteres := Diferença entre as posições.
Delete(NomeString,PosicaoInicial,QtdeCaracteres)

Ve se consegue avançar um pouco mais. Na dúvida, entre em contato.


GOSTEI 0
Tiago Farinon

Tiago Farinon

29/04/2003

Olha só... fiz a seguinte função com o que me disseste:

procedure ApagaTags(Arquivo: String);
var
Texto: TStringList;
Linha,LinhaFinal,QuantidadeDeCaracteres,PosicaoInicial,PosicaoFinal:Integer;
s:String;
c1,c2:char;
begin
Texto:= TStringList.Create;
try
Texto.LoadFromFile(Arquivo);
Linha:=Texto.IndexOf(´<´);
LinhaFinal:=Texto.IndexOf(´>´);
ShowMessage(IntToStr(Linha));
PosicaoInicial:=Pos(´<´,Texto[Linha]);
PosicaoFinal:=Pos(´>´,Texto[LinhaFinal]);
QuantidadeDeCaracteres:= PosicaoFinal - PosicaoInicial+1 ;
s:=Texto[Linha];
Delete(s,PosicaoInicial,QuantidadeDeCaracteres);
Texto[Linha]:=s;
Texto.SaveToFile(Arquivo);
finally
FreeAndNil(Texto);
end;
end;

só que está acontecendo um probleminha... Pra variar o locate não está funcionando... Ele retorna sempre -1, não importando onde esteja o ´<´...
O locate serve para descobrir o numero da linha onde está alguma string, não? Ok... soh que ela não acha... Deve ser pq o ´<´ é só um caractere da string, então ele não encontra... Só que não consigo resolver...

O que pode estar acontecendo?

E ahhh... antes que me esqueça...

Valeu Mesmo pela ajuda!!!

Tiago Farinon


GOSTEI 0
POSTAR