Ir para conteúdo

POWERED BY:

Arquivado

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

xanburzum

[Resolvido] Strip Tags HTML com Regular Expressions

Recommended Posts

função stripHTML. Esta função aceita uma entrada de string (a string cujo tags HTML devem ser removidos). O padrão de expressão regular <(.|\n)+?> É usado para obter todos os matches de < e > caracteres com pelo menos um personagem entre as tags. Substituir o método do objeto de expressão regular é usado para substituir todas as ocorrências de uma seqüência vazia (""). Finalmente, todos os restantes < e > são substituídos com os respectivos formulários HTML codificado: < e >. A função stripHTML é mostrado abaixo:

 

Function stripHTML(strHTML)
'Strips de tags HTML de strHTML

  Dim objRegExp, strOutput
  Set objRegExp = New Regexp

  objRegExp.IgnoreCase = True
  objRegExp.Global = True
  objRegExp.Pattern = "<(.|\n)+?>"

'Substituir tag HTML com a string vazia
  strOutput = objRegExp.Replace(strHTML, "")
  
  ' Substituir todos os < e > com < e >
  strOutput = Replace(strOutput, "<", "<")
  strOutput = Replace(strOutput, ">", ">")
  
  stripHTML = strOutput    'Retorna o valor de strOutput

  Set objRegExp = Nothing
End Function

O padrão de expressão regular e substituir o método de fazer todo o trabalho para você - não há necessidade de fazer qualquer seqüência de operações. Se você preferir não usar expressões regulares você pode usar as funções split e join.

 

<%
Option Explicit

Function stripHTML(strtext)
 dim arysplit,i,j, strOutput
 arysplit=split(strtext,"<")
 
  if len(arysplit(0))>0 then j=1 else j=0

  for i=j to ubound(arysplit)
     if instr(arysplit(i),">") then
       arysplit(i)=mid(arysplit(i),instr(arysplit(i),">")+1)
     else
       arysplit(i)="<" & arysplit(i)
     end if
  next

  strOutput = join(arysplit, "")
  strOutput = mid(strOutput, 2-j)
  strOutput = replace(strOutput,">",">")
  strOutput = replace(strOutput,"<","<")

  stripHTML = strOutput
End Function


%>

<form method="post" id=form1 name=form1>
  <b>Digite uma String HTML:</b><br>
  <textarea name="txtHTML" cols="50" rows="8" wrap="virtual"><%=Request("txtHTML")%></textarea>
  <p>
  <input type="submit" value="Strip HTML Tags!" id=submit1 name=submit1>
</form>

<% if Len(Request("txtHTML")) > 0 then %>
	<p><hr><p>
	<b><u>Visualização de string<i> sem </ i> HTML stripping:</u></b><br>
	<xmp>
	<%=Request("txtHTML")%>
	</xmp><p>
	<b><u>Visualização de string<i>with</i> HTML stripping:</u></b><br>
	<pre>
	<%=StripHTML(Request("txtHTML"))%>
	</pre>
<% End If %>


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.