pokito, c'est bien à peu près ça, mais j'imaginais plutôt que la balise
format engloberait toute la citation, ça éviterait d'avoir des répétitions à chaque smiley ou changement de style.
L'autre idée est d'associer non pas le texte qui a généré l'HTML, mais les informations de haut niveau. Puisque le post a été analysé pour sa conversion, toutes ces informations sont disponibles lors de la génération du HTML.
]ça[/url] [4]va[/4] ?
Par exemple, je tape [b]Salut[/b], [u]comment[/u] [url=http://www.yaronet.com <span class="color4">va</span> ?
Le message va être transformé en <b>Salut</b>, <span class="u">comment</span> <a href="http://www.yaronet.com" target="_blank">ça</a>et="_blank">ça</a> <span id="a42_4" class="color4">va</span> ?
Mais on pourrait y inclure des informations supplémentaires : <b id="a42_1">Salut</b>, <span id="a42_2" class="u">comment</span> <a id="a42_3" href="http://www.yaronet.com" targIci,
a42 est un identifiant unique du message. Il faut mettre dans un tableau JavaScript ce à quoi correspond chaque balise :
var info_balises = {
"a42_1": {"fonc": "b"},
"a42_2": {"fonc": "u"},
"a42_3": {"fonc": "url", "url": "http://www.yaronet.com"},
"a42_4": {"fonc": "color", "num": "4"}
};Lors d'une citation, il faut regarder l'
id des balises citées et appliquer la bonne fonction de balisage avec tous les paramètres renseignés dans le tableau, plus le contenu de la balise lorsqu'il y en a un. La fonction utilise bien sûr le langage de l'utilisateur.
C'est une idée jetée comme ça, il y a plein de problèmes auxquels il faudra faire attention et on peut faire des extensions, comme chercher si des balises ont été ouvertes avant la citation (par exemple un extrait d'un texte mis en gras garderait son style). La méthode de stockage que j'ai montrée n'est pas forcément optimale, mais l'idée et là et d'autres solutions existent.