sexta-feira, 12 de abril de 2002

Extraindo endereços de e-mail do código HTML

Essa dica é inspirada na dica sobre tags HTML do Adriano Dias, onde postei um comentário.


Suponha que você tem um código HTML qualquer, ou outro bloco de texto, e quer listar todos os endereços de e-mail do texto, sem duplicação. Você pode fazer isso com essa função javascript:

function tiramail(texto){
resposta=""
texts=new Array()

//Tira quebras de linha e as {}
texto=texto.replace(/[\n\r\{}]/g,"")

//Cerca e-mails por {}
texto=texto.replace(/([\w\.-]*)@([\w\.-]*)/gi,"{{{$1@$2}}}")

//Tira os e-mails que começa ou terminam com @ ou não possuem ponto depois do @
texto=texto.replace(/\{\{\{@[^}]*}}}/g,"").replace(/\{\{\{[^}]*@[^}\.]*}}}/g,"")

//Limpa o começo e o final do texto
texto=texto.replace(/^[^\{]*/,"").replace(/[^}]*$/,"")

//Limpa os {{{}}}
texto=texto.replace(/^[^\{]*\{\{\{/,"").replace(/}}}[^}]*$/,"").replace(/}}}[^{]*\{\{\{/g,",")

//usa os endereços como índice de array para remover os duplicados
texto=texto.split(",")
for(i=0;i<texto.length;i++)
eval("texts[\""+texto[i].replace(/[@\.]/g,"")+"\"]=texto[i]")
for(i in texts)resposta+=texts[i]+","
return resposta.replace(/,$/,"")
}


Esta matéria foi postada originalmente no ASP4Developers por Elcio Luiz Ferreira (site), que na época era " analista-programador apaixonado por javascript, ex-professor, músico amador, ciclista amador, teólogo amador, filósofo amador, escritor amador e comediante amador.". Hoje, vai saber...

0 comentários: