Conversion de codes rtf vers html


Contenu du snippet

Utilise la fonction sChangeCaractere() présente dans les sources de la catégorie Texte.
Cette fonction se charge simplement de convertir tous les codes RTF par un équivalent en HTML

Source / Exemple :


' -----------------------------------------------------------
' Fonction de conversion de caratère RTF en caractère HTML :
'
Function sCaractereRTF_HTML(ByVal chaine As String) As String
    Dim nouvelle As String

    nouvelle = chaine

    If Len(nouvelle) > 0 Then
        ' Majuscule :
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'c6", "Æ"), "\'c1", "Á")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'c2", "Â"), "\'c0", "À")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'c5", "Å"), "\'c3", "Ã")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'c4", "Ä"), "\'c7", "Ç")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'d0", "Ð"), "\'c9", "É")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'ca", "Ê"), "\'c8", "È")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'cb", "Ë"), "\'cd", "Í")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'ce", "Î"), "\'cc", "Ì")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'cf", "Ï"), "\'d1", "Ñ")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'d3", "Ó"), "\'d4", "Ô")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'d2", "Ò"), "\'d8", "Ø")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'d5", "Õ"), "\'d6", "Ö")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'da", "Ú"), "\'de", "Þ")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'cb", "Û"), "\'d9", "Ù")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'dc", "Ü"), "\'dd", "Ý")
    
        ' Minuscule :
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'e1", "á"), "\'e2", "â")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'e6", "æ"), "\'e0", "à")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'e5", "å"), "\'e3", "ã")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'e4", "ä"), "\'e7", "ç")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'e9", "é"), "\'ea", "ê")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'e8", "è"), "\'f0", "ð")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'eb", "ë"), "\'ed", "í")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'ee", "î"), "\'ec", "ì")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'ef", "ï"), "\'f1", "ñ")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'f3", "ó"), "\'f4", "ô")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "'\f2", "ò"), "\'f8", "ø")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'f5", "õ"), "\'f6", "ö")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'df", "ß"), "\'fe", "þ")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'f9", "ú"), "\'fb", "û")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'f9", "ù"), "\'fc", "ü")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'fd", "ý"), "\'ff", "ÿ")
        
        ' Particulier
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'8", "è"), "\'88", "à")
        
        ' Autre
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\par ", cCR_HTML & cESPACE), "\rquote", "'")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\ldblquote", cDOUBLE_QUOTE), "\rdblquote", cDOUBLE_QUOTE)
        nouvelle = sChangeCaractere(nouvelle, "\page", cPARAG_HTML & cLIGNE_HTML & cPARAGf_HTML)
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, cTAB_RTF, vbNullString), "\*", vbNullString)
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "{\'b7}", cRETRAIT2_HTML & cPOINT_HTML), "\'b7", cRETRAIT2_HTML & cPOINT_HTML)
        nouvelle = sChangeCaractere(nouvelle, "\bullet", cRETRAIT2_HTML & cPOINT_HTML)
        
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\~", ""), "\'a3", "£")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'b5", "µ"), "\'a7", "§")
        nouvelle = sChangeCaractere(sChangeCaractere(nouvelle, "\'b0", "°"), "\'b2", "²")
        nouvelle = sChangeCaractere(nouvelle, "\'a4", "¤")
    End If

    sCaractereRTF_HTML = nouvelle
End Function

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.