|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : avril 2011 Messages : 2 ![]() |
Bonjour,
J'ai codé un script permettant de convertir des balises html en bbcode, le code html à convertir a cette forme : Code html :
<span style="color: rgb(102, 153, 153);" id="mess1">Je suis gentil</span><br><span style="color: rgb(153, 102, 153);" id="mess2">Non tu es méchant</span> Il ne m'est pas possible d'intervenir sur le contenu de l'attribut style (de changer le rgb en hexa, car cette couleur est changée par l'utilisateur via une palette de couleur, dans la palette c'est bien en hexadécimal mais dès que l'utilisateur choisi la couleur le script affecte la couleur via document.getElementById(monid).style.color = "#333333' (par exemple) et le navigateur convertit directement cette couleur en rgb dans le code source) Ce code là est donc traduis en bbcode, lorsque le script voit qu'il y a un style attaché avec une couleur la traduction donne : Code html :
La ligne javascript utilisée pour traduire ça est la suivante : Code js :
text = text .replace(/<span style="color: ([\s\S]*?);">([\s\S]*?)<\/span>/gi, "[color=$1]$2[/color]"); Mon problème étant que cette conversion (html => bbcode) est faite pour pouvoir affiché le texte html sur un forum utilisant le bbcode, et les couleurs RGB ne sont pas reconnues sur ces forum, il faudrait donc convertir la couleur RGB en hexadécimal, chose que je n'arrive pas à faire, j'ai bien essayé de récupérer les différents nombre de la couleur et de les envoyer dans une fonction convertissant le RGB en hexadécimal, mais ça ne marche pas : Code js :
Si quelqu'un a une solution c'est avec plaisir... |
||||
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 2 ![]() |
J'ai finalement trouvé une solution,
Il suffit de récupérer à l'aide d'un match toutes les couleurs dans un tableau (on supprima les doublons), puis de traiter chaque occurrence du tableau, de mettre dans une variable son équivalent hexadécimal et de faire un replace de la valeur du tableau (rgb) par son équivalent hexadécimal
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com