Conversion entité html >> caractère accentué

Soyez le premier à donner votre avis sur cette source.

Snippet vu 11 258 fois - Téléchargée 39 fois

Contenu du snippet

Cette petite fonction permet de convertir les entités html en
caractère accentué normal. En ASP la fonction qui fait le contraire est
Server.HtmlEncode("ma chaine de caractère").

Source / Exemple :


Option Explicit
'--------------

Private mvaraccents(192 To 255) As String

Public Function HtmlToAccent(ByVal sText As String) As String
    Dim sChar() As String, i As Integer, _
    sResult As String, j As Integer, sTmp As String
    
    ' ----
    For i = 1 To Len(sText)
       ReDim Preserve sChar(i)
       sChar(i) = Mid(sText, i, 1)
       ' ----
       If sChar(i) = "&" Then
           ' ----
           For j = 192 To 255
               sTmp = Mid(sText, i, InStr(i, sText, ";") - i + 1)
               If sTmp = mvaraccents(j) Then
                   i = i + Len(sTmp) - 1
                   sResult = sResult & Chr(j)
                   Exit For
               End If
           Next
           ' ----
       Else
           sResult = sResult & sChar(i)
       End If
       ' ----
    Next
    
    ' ----
    HtmlToAccent = sResult
     
End Function

Private Sub Form_Load()
    pTableau
    MsgBox HtmlToAccent("un éléphant sur un hêtre")
End Sub

Private Sub pTableau()
    'Assignation des caractères accentués
    'à leur entité Html.
    '------------------------------------
    mvaraccents(192) = "À"   'À
    mvaraccents(193) = "Á"   'Á
    mvaraccents(194) = "Â"    'Â
    mvaraccents(195) = "Ã"   'Ã
    mvaraccents(196) = "Ä"     'Ä
    mvaraccents(197) = "Å"    'Å
    mvaraccents(198) = "&Aelig;"    'Æ
    mvaraccents(199) = "Ç"   'Ç
    mvaraccents(200) = "È"   'È
    mvaraccents(201) = "É"   'É
    mvaraccents(202) = "Ê"    'Ê
    mvaraccents(203) = "Ë"     'Ë
    mvaraccents(204) = "Ì"   'Ì
    mvaraccents(205) = "Í"   'Í
    mvaraccents(206) = "Î"    'Î
    mvaraccents(207) = "Ï"     'Ï
    mvaraccents(208) = "Ð"      'Ð
    mvaraccents(209) = "Ñ"   'Ñ
    mvaraccents(210) = "Ò"   'Ò
    mvaraccents(211) = "Ó"   'Ó
    mvaraccents(212) = "Ô"    'Ô
    mvaraccents(213) = "Õ"   'Õ
    mvaraccents(214) = "Ö"     'Ö
    mvaraccents(215) = "×"    '×
    mvaraccents(216) = "Ø"   'Ø
    mvaraccents(217) = "Ù"   'Ù
    mvaraccents(218) = "Ú"   'Ú
    mvaraccents(219) = "Û"    'Û
    mvaraccents(220) = "Ü"     'Ü
    mvaraccents(221) = "Ý"   'Ý
    mvaraccents(222) = "Þ"    'Þ
    mvaraccents(223) = "ß"    'ß
    ' ----'
    mvaraccents(224) = "à"   'à
    mvaraccents(225) = "á"   'á
    mvaraccents(226) = "â"    'â
    mvaraccents(227) = "ã"   'ã
    mvaraccents(228) = "ä"     'ä
    mvaraccents(229) = "å"    'å
    mvaraccents(230) = "æ"    'æ
    mvaraccents(231) = "ç"   'ç
    mvaraccents(232) = "è"   'è
    mvaraccents(233) = "é"   'é
    mvaraccents(234) = "ê"    'ê
    mvaraccents(235) = "ë"     'ë
    mvaraccents(236) = "ì"   'ì
    mvaraccents(237) = "í"   'í
    mvaraccents(238) = "î"    'î
    mvaraccents(239) = "ï"     'ï
    mvaraccents(240) = "ð"      'ð
    mvaraccents(241) = "ñ"   'ñ
    mvaraccents(242) = "ò"   'ò
    mvaraccents(243) = "ó"   'ó
    mvaraccents(244) = "ô"    'ô
    mvaraccents(245) = "õ"   'õ
    mvaraccents(246) = "ö"     'ö
    mvaraccents(247) = "÷"   '÷
    mvaraccents(248) = "ø"   'ø
    mvaraccents(249) = "ù"   'ù
    mvaraccents(250) = "ú"   'ú
    mvaraccents(251) = "û"    'û
    mvaraccents(252) = "ü"     'ü
    mvaraccents(253) = "ý"   'ý
    mvaraccents(254) = "þ"    'þ
    mvaraccents(255) = "ÿ"     'ÿ
End Sub

Conclusion :


@+, VIC

A voir également

Ajouter un commentaire

Commentaires

Ahweb
Messages postés
48
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
15 octobre 2007

MErci à toi, vachement utile :)
SimonKari
Messages postés
80
Date d'inscription
dimanche 29 décembre 2002
Statut
Membre
Dernière intervention
1 octobre 2004

Ton code est un bon point de départ, mais pas totalement complet au niveau de la transcription des codes html. Voici l'adresse pour connaitre la totalité de la spécification... http://www.la-grange.net/w3c/html4.01/sgml/entities.html

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.