asp - asp.net - aspcode.it

COMMUNITY - Login
 Username:
 
 Password:
 
Voglio registrarmi!
Password dimenticata?
 Utenti on-line: 0
 Ospiti on-line: 8889
ASPCode.it - Store

  > > Tips

Una funzione per rimuovere i tag HTML
di Paolo Capitani

Data di pubblicazione: 19/09/2002        Voto della community: 4,52 (Votanti: 7)

La funzione che segue consente di eliminare i tag HTML dal testo che le viene passato come parametro e restituisce il testo "ripulito".
Questa funzionalità può essere utile in diversi casi. Per esempio, nel caso di una ricerca di parole chiave in un documento HTML, è molto probabile che si voglia cercare solo nel testo dell'articolo, evitando che i tag HTML in esso presenti possano in qualche modo "inficiare" il risultato della ricerca.

Da notare comunque che la funzione non è completa; sarebbe infatti da "evolvere" inserendo alcuni controlli sul testo, ad esempio un controllo per eventuali tag HTML lasciati erroneamente aperti.

Di seguito è riportato il codice della funzione con un esempio del suo utilizzo:

<%
function RemoveTags(txt)
  'memorizza il testo in un buffer temporaneo
  dim tmptxt
  tmptxt = txt

  'esci se viene passata una stringa nulla (che è diverso da stringa di lunghezza 0)
  if IsNull(tmptxt) then
    exit function
  end if

  dim i, pos1, pos2
  'inzia il ciclo di ricerca...
  do
    'cerca il prossimo inizio di tag
    pos1 = Instr(tmptxt, "<")
    'se non lo trovi esci dal ciclo di ricerca (non ci sono più tag da eliminare)
    if pos1=0 then
      exit do
    else
      'se lo trovi, cerca il simbolo di chiusura del tag
      pos2 = Instr(pos1, tmptxt, ">")
      'se non lo trovi esci dal ciclo di ricerca
      if pos2=0 then
        exit do
      else
        'elimina il tag determinato da pos1 e pos2
        tmptxt = Left(tmptxt, pos1-1)&Mid(tmptxt, pos2+1)
      end if
    end if
  loop
  'restituisci il testo "depurato" dai tag HTML
  RemoveTags = tmptxt
end function

'Esempio di utilizzo della funzione
Dim rawTxt
rawTxt = "<html><body>Prova</body></html>"

Response.Write(RemoveTags(rawTxt))
%>




Utenti connessi: 8889