Ola pessoal minha duvida é o segunte :
preciso limpar codigos html de uma string , pois o cara que vai administrar
a gerencia ira escrever um texto com codigo html no meio, mas quando eu for colocar no banco esse dado eu preciso colocar o dado ( texto ) com codigo
html e sem codigo html ( texto limpo ) , sera que alguem poderia me dar uma
mao ? eu nao sei ainda como fazer isso , Limpar tags html de um String
Ja existe algo que faça isso ?
Se alguem puder me ajudar ficarei muito grato
Saldações Diego Crambeck
Limpar String
10 Respostas
Oi
izack, use o método replaceAll(String a, String b) da classe String… Assim, tu faz um reposítório de TAGs e depois faz o replace para as tags… ou então se tu quiser uma coisa mais elegante… percorra a String procurando pelas tags… que são os sinais de < e >
T+
Oiizack, use o método replaceAll(String a, String b) da classe String… Assim, tu faz um reposítório de TAGs e depois faz o replace para as tags… ou então se tu quiser uma coisa mais elegante… percorra a String procurando pelas tags… que são os sinais de < e >
T+
isso E osso nao funcuiona!
bom vc pode fazer um metodo para ir percorrendo caracter por caracter e ir jogando num buffer auxiliar (outra string), e assim q vc achar um sinal de tag “<” vc para de jogar pro buffer, mas continua percorrendo a String, dai assim q vc achar um “>”, vc volta a jogar pro buffer os seu chars… assim vc vai conseguir uma string sem tags html…
Entendeu!??!
Oiizack, use o método replaceAll(String a, String b) da classe String… Assim, tu faz um reposítório de TAGs e depois faz o replace para as tags… ou então se tu quiser uma coisa mais elegante… percorra a String procurando pelas tags… que são os sinais de < e >
T+
isso E osso nao funcuiona!
Funciona sim!!!
T+
Olá mestre Izack, já deves ter resolvido o problema de qq forma podias usar: str.replaceAll("<[^<>]*>",""); que remove todas as tags htmls, usando expressões regulares…
1 abraço.
Olá mestre Izack, já deves ter resolvido o problema de qq forma podias usar:str.replaceAll("<[^<>]*>",""); que remove todas as tags htmls, usando expressões regulares…1 abraço.
ae gulaz achei fera a sua soluçao, mas c poderia explicar um pouco melhor essa expressao regular q usou?? Q q significa??o * significa zero ou mais neh!? mas e o ^?!?! pra q serve?
olá:) lamento a demora para responder…
claro que posso explicar…
<[^<>]> =>
<A> são todas as palavras que começam por “<” e terminam em “>”
e têm qq coisa no meio (A), mas temos de ter cuidado para evitar casos com este: …Ola<tr><td>Mundo!.. ele removia tudo e ficava olaMundo! por isso vamos analisar o “A”.
A= [^<>] Os “[]” permitem identificar uma classe de palavras (ex: [gulaz] classes das palavras que tem um ‘g’, ‘u’, ‘l’, ‘a’, ‘z’ ) e o [^gulaz]permite identificar qq caracter excepto g’, ‘u’, ‘l’, ‘a’, ‘z’. O resto vc sabe…
“*” O * é 0 ou mais palavras sem tags html como disseste, mas tb podia ter usado o “+” => 1 ou mais
qto as expressões regulares podes ver mais informações aqui: http://java.sun.com/developer/technicalArticles/releases/1.4regex/
1abraço, Gulaz
ahhh vai lendo caracter por caracter mesmo… e se achar < ou > vc apaga…
dai nao tem o problema de apagar a tag inteira neh =)
Bom, assim funciona! =) aehiuaeuih
cya!
ahhh vai lendo caracter por caracter mesmo… e se achar < ou > vc apaga…dai nao tem o problema de apagar a tag inteira neh =)
Bom, assim funciona! =) aehiuaeuih
cya!
Como assim “apagar a tag inteira” ,jujo!?!? Eu to quase entendendo, mas mesmo desse jeito se tivesse:
…Darkseid<tr><td>from Apokolips… naum ficaria
Darkseidfrom Apokolips ?!?!
Olá mestres!,
não devem pensar que ele vai ler caracter a caracter!( na verdade é o que acontece…) mas o melhor é pensarmos que a função desenvolvida pela SUN:) vai a procura de nosso padrão (<[^<>]*>)que é uma palavra que começa por < e termina por > e que pode ter qq coisa no meio excepto < e >.
Darkseid ficaria “Darkseidfrom Apokolips” se o padrão fosse “<*>”.
1abraço,
Gulaz