BBCode trop volumineux, comment le réduire?

thedjpredator Messages postés 19 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 27 mars 2008 - 26 mars 2008 à 18:22
thedjpredator Messages postés 19 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 27 mars 2008 - 27 mars 2008 à 00:08
Bonjour,

Mon problème c'est que j'ai du BBCode (par un programme externe)
et il me donne des doublons qui pourraient être remplacés et prendre
beaucoup moins de poid et moins compliqué!

exemple :
[c=#000000]a/c[c=#000000]b/c[c=#000000]c/c[c=#000000]d/c

pourrait donner :
[c=#000000]abcd/c

Je n'arrive pas à trouver une autre technique que le replace
et y faut que je connaissent en avance le caractère qui est concerné par la balise
et je réduit que deux par deux ou trois par trois avec cette technique...
bref la galère... Si quelqu'un peut m'aider, déjà plusieurs soirs que je suis dessus sans trouver.

Merci d'avance!

TdP

5 réponses

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
26 mars 2008 à 20:16
 Bonsoir à tous,

Peut-être en passant par 2 tableaux.

var = "[c=#000000]a/c[c=#000000]b/c[c=#000000]c/c[c=#000000]d/c"

test1 = Split(var,"]")
For i=1 To UBound(test1) Step 2
    test2 = Split(test1(i),"[")
    list = list & test2(0)
Next
MsgBox list,,"list"

jean-marc
0
thedjpredator Messages postés 19 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 27 mars 2008
26 mars 2008 à 21:15
Le problème c'est que la dans le résultat ya plus aucune balise

et c'est pas le but. Ce que je veux c'est juste gagner d'la place...

genre :

[c=#000000]a/c[c=#000000]b/c[c=#000000]c/c

je voudrais qu'il détécte les même balise avec les même couleurs et qu'il le remplace commme ceci :

[c=#000000]abc/c

J'espère avoir était plus clair.

Merci.

TdP
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
26 mars 2008 à 21:59
Re,

var = "[c=#000000]a/c[c=#000000]b/c[c=#000000]c/c[c=#000010]d/c[c=#000010]e/c[c=#000000]f/c"

devant donc retourner     newvar = "[c=#000000]abc/c[c=#000010]de/c[c=#000000]f/c"
l'utilisation de l'objet Dictionary me semble indiquée.

jean-marc
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
26 mars 2008 à 22:06
Pour indication

var = "[c=#000000]a/c[c=#000000]b/c[c=#000000]c/c[c=#000010]d/c[c=#000010]e/c[c=#000000]f/c"

test1 = Split(var,"]")
For i=1 To UBound(test1) Step 2
    test2 = Split(test1(i),"[")
    MsgBox test1(i-1) & "]" &vbCrLf& test2(0) &vbCrLf& test1(i+1) & "]"
Next

jean-marc
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
thedjpredator Messages postés 19 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 27 mars 2008
27 mars 2008 à 00:08
Heu bah désolé mais je sais pas...
si quelqu'un d'autre à une autre solution valable...

Merci...

TdP
0
Rejoignez-nous