Virer les balises html

Contenu du snippet

voila une petite fonction qui vire les balise HTML.
ça peu etre pratique si l'on veux recuperer les info d'une pages...

Source / Exemple :


''' str : code HTML a netoyer
Function Vire_balise(str as String) As String
Dim pos_deb
Dim pos_fin
Dim part_d
Dim part_f

''' pour un minimum de clarté, on met de retour chariot
''' a la place de la balise corespondante.
str = Replace(str, "<BR>", vbCrLf, , , vbTextCompare)

''' debut de la boucle.
''' qui extrait la premier balise qu'elle rencontre
''' jusqu'a ce qu'il n'y ai plus de balise a extraire
pos_deb = InStr(1, str, "<")
Do Until pos_deb = 0
    pos_fin = InStr(pos_deb, str, ">")
    part_d = Mid(str, 1, pos_deb - 1)
    part_f = Mid(str, pos_fin + 1, Len(str) - pos_fin)
    str = part_d & part_f
    pos_deb = InStr(1, str, "<")
Loop

''' vous pouvez replacer d'autre caractere HTML
''' si vous en connaissez d'autre
str = Replace(str, "&nbsp;", "", , , 1)
str = Replace(str, "&amp;", "&", , , 1)
str = Replace(str, "é", "é", , , 1)
str = Replace(str, "à", "à", , , 1)
str = Replace(str, "è", "è", , , 1)
str = Replace(str, "ê", "ê", , , 1)
str = Replace(str, "&quot;", """", , , 1)

Vire_balise = str
End Function

Conclusion :


attention... ce code est tres basic (sans faire de jeux de mots)
en il y a deux gros bugue...
- 1 : il faut que le code HTML soit parfait...
c a dire qu'il vaut mieux l'utiliser avec la variable "document.body.innerHTML"
(accessible par du javascript) qui reinterprete le code

- 2 : il peut y avoir un bugue si on utilise le caractere '>' ou '<' seul. ex: "retour ->"
la boucle risque de devenir infini.

donc un conseil, utilisez ce code avec un code HTML parfait

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.