Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

arr

[Resolvido] Utilitário para lipar tabelas

Recommended Posts

Pessoal,

 

fiz um pequeno utilitário para limpar as tabelas html geradas/copiadas do Word ou Excel, que sempre vêm com o código muito sujo. Automatizou uma tarefa rotineira que antes eu era obrigado a fazer na mão.

 

Tipo :

<tr height="21" style="height:15.75pt">

<td height="21" class="xl24" width="35" style="height:15.75pt;width:26pt">Pos.</td>

<td class="xl24" width="36" style="border-left:none;width:27pt">No.</td>

<td class="xl24" width="197" style="border-left:none;width:148pt">Nome</td>

<td class="xl24" width="258" style="border-left:none;width:194pt">Equipe</td>

<td class="xl24" width="116" style="border-left:none;width:87pt">UF</td>

</tr>

 

Fica:

 

<tr>

<td>Pos.</td>

<td>No.</td>

<td>Nome</td>

<td>Equipe</td>

<td>UF</td>

</tr>

 

 

Funciona legal, apesar de meio lento qdo o código é muito grande. Os únicos bugs (que descobri por enquanto) é que ele diferencia maisculas de minúsculas, po ex: limpa um célula "<tr>" , mas não limpa uma "<TR>", e ele remove tudo, inclusive os parâmetros "colspan" e "rowspan" (que seriam interessantes preservar, se alguém estiver disposto a achar uma solução....hehehe).

 

Ele também é facilmente adaptável para qualquer outra tag basta acrescentar as linhas abaixo no local apropriado e fazer as adaptações.

 

 

ElseIF op2= "<tr" Then      ' Faz a mesma coisa com "<trOp5=op5&"r>"While Not Right(op,1)=">"i=i+1op= Left (Tabela,i)Wend

 

Segue o código. Espero que seja útil.

 

<%  Option Explicit %><% Response.Buffer=TRUEIF Request.Querystring("inc")="" Then%><html><head></head><body><center><font class="tit">Insira o código-fonte da tabela Tabela</font></center><form name="Endereco" action="?inc=Yes" method="post"><table align="center" class=corpo border="1" bordercolor="#ffffff" cellpadding="2" cellspacing="0" width="350"><tr><td><textarea name="tabela" cols="80" rows="30"></textarea></table><center><input type="submit" value="enviar"></center><%ElseIf Request.Querystring("inc")="Yes" ThenDim Tabela,tamop,i,op,op2,op5 Tabela=Request.Form("Tabela")tamop = Len(Tabela) ' Quantidade de CaracteresResponse.Write "Este código tinha "& tamop &" Caracteres (incluindo espaços)"  For i = 1 to tamop  ' Loop para ler cada caractereop= Left (Tabela,i) op2= Right(op,3)  ' Pega os três ultimos do código para verificar as tagsIf op2= "<td" Then        ' Se for <td...Op5=op5&"d>"              ' Fecha a tagWhile Not Right(op,1)=">"  'descarta todos os caracteres até encontrar um ">"i=i+1op= Left (Tabela,i)WendElseIF op2= "<tr" Then      ' Faz a mesma coisa com "<trOp5=op5&"r>"While Not Right(op,1)=">"i=i+1op= Left (Tabela,i)WendElseop5=op5&Right(op,1)End IfNextResponse.Write "<br> Ficou com "& Len(Op5)  %><html><head></head><body><center><font class="tit">Tabela Limpa</font><p><textarea cols="80" rows="30"><%Response.Write Op5End IfEnd If%></textarea></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.