Conversion de codes rtf vers html

Soyez le premier à donner votre avis sur cette source.

Snippet vu 13 358 fois - Téléchargée 70 fois


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

Ajouter un commentaire

Commentaires

allo allo blq
j arrive pas a utiliser ton biz...
merci de bien voulaoir m aider stp
cs_Jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
61 -
C'est vrai que ça manque de fonctionalité :
Même en collant ce code dans une appli, ça ne peut pas fonctionner puisqu'il manque :
- la fonction sChangeCaractere.
- le nom de la bibliothèque qui fournit les valeurs des variables comme cPARAG_HTML

Tu pourrais nous faire une petite appli en démo ...
blq
Messages postés
97
Date d'inscription
vendredi 22 octobre 1999
Statut
Membre
Dernière intervention
13 juin 2016
1 -
Le code donné est assez vieux... ilmeriterait tout simplement d'être supprimé et, du coup, la fonction sChangeCaractere() n'a pu d'intéret avec VB6. Il suffit de remplacer sChangeCaractere par la function standard Replace de VB. Cela fait la même chose !
Le code de sChangeCaractere() est présent dans la liste des sources que j'ai du mettre en ligne, mais c'est juste pour la curiosité, car Replace() est bien plus efficace et simple d'utilisation.

Pour les variables manquantes, il s'agit juste de les remplacer le code hTML equivalent:

cconst cPARAG_HTML = ""
cconst cPARAGf_HTML = "

"
cconst cLIGNE_HTML = "
"
... etc.

Aujourd'hui je crois que ce type de code est vraiment obsolète...
cs_Phira
Messages postés
6
Date d'inscription
jeudi 15 août 2002
Statut
Membre
Dernière intervention
11 novembre 2004
-
cconst cPARAG_HTML = ""
cconst cPARAGf_HTML = "

"
cconst cLIGNE_HTML = "
"

où pourrais-je trouver de la donc sur ces fonctions de RTF?

merci.
blq
Messages postés
97
Date d'inscription
vendredi 22 octobre 1999
Statut
Membre
Dernière intervention
13 juin 2016
1 -
Pour obtenir des infos sur le codage RTF, il faut fouiller sur le site de Microsoft. Il y avait en détail les specs RTF et la corresondance de chaque code. Je n'ai plus le lien. Mon code est trop vieux (2000/2001) pour que je me souvienne du lien chez MS.

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.