Fórum Excluir tags de um arquivo html #156754
29/04/2003
0
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
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
Curtir tópico
+ 0
Responder
Posts
30/04/2003
Aroldo Zanela
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.
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.
Responder
Gostei + 0
30/04/2003
Tiago Farinon
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
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
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)