1

yop,

Pour faire quelques tests, je cherche un outil (en PHP si possible) capable de convertir du BBCode un minimum complet (qui gère au moins gras/italique/souligné, centré, et si possible les listes et/ou les tableaux) en XHTML valide (qui passe le valideur du w3c) quel que soit le texte donné en entrée. Malgré quelques essais de bibliothèques trouvées via Google je n'ai rien trouvé qui soit assez résistant ; auriez-vous des suggestions à coté desquelles je serais passé ?

Merci smile

[edit] Tiens, à une inversion de chiffres près j'avais le topic #118 218 tritop
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

2

(normal, c'est un topic où tu demandes des renseignements trioui)

3

./1 ./2 > trisotfl
Sinon, désolé, je n'en connais pas sorry L'UBB est si compliqué que ça ? Le plus compliqué doit être les tableaux, et encore, ça doit être parsable pas trop difficilement, non ?
avatar

4

si tu le transformes comme un porc c'est très facile oui, mais ça devient déjà nettement plus chiant si tu veux produire du code valide : il faut décroiser les balises, ne pas générer de constructions incorrectes, respecter l'imbrication block > inline, etc...

petits exemples :

[b][i]plop[/b][/i] : les balises doivent être décroisées
[b][center]plop[/center][/b] : un "center" produit un élement de type block qui ne peut pas être contenu dans le span créé par la balise "b"
[ul][li][b]item[/li][li]item[/b][/li][/ul] : le "b" doit s'étendre sur les 2 éléments, mais sans croiser les balises (et donc s'arrêter au /li pour reprendre après l'ouverture du suivant)
[table]a[|]b[|]c[-]d[|]e[/table] : le nombre d'éléments dans chaque ligne du tableau n'est pas le même

etc... il y a des tonnes de pièges à éviter smile

j'ai regardé les "gros" forums genre IPB, PHPBB & co, ils se plantent tous dès le 1er test :/
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

5

Arf oué, j'avais oublié que l'UBB se fichait des croisements sorry
avatar

6

http://www.llblgen.com/Hnd/ Tu as regardé ça ? A priori, si on regarde les specs, (http://www.llblgen.com/pages/files/hnd/HnD_Developer_Guide.pdf) il y a ce que tu cherches dedans... mais je ne sais pas si c'est fiable.
avatar

7

ah oui peut-être que ça pourrait être bon (encore que je me méfie, ça serait pas les premiers à prétendre produire du code valide) mais il faut un serveur .NET pour tester, donc je peux pas :/ (c'est pour ça que je suis surtout intéressé par des trucs en PHP)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

8

Tu remplaces les [] par des <>, tu fais parser le tout à un moteur html (gecko, trident, ...), tu parcoures l'arbre DOM résultant, et tu transforme tout ça en XHTML parfaitement valide cheeky
Comment ça compliqué ? Bon ok je sors...

Enfin plus sérieusement tu te retrouves devant le problème que recontrent tous les navigateurs web, qui est d'interpréter de manière plus ou moins valide du code invalide... J'imagine que dans un souci de rapidité la forte majorité de ceux qui ont eu à parser de l'UBB ont choisi de déléguer cette lourde tache au navigateur, quitte à ne pas fournir un code correct. (Enfin c'est surtout que tu passes d'un truc rapide à utilisation mémoire quasi nulle qui fait un code pas beau - mais osef - à un truc lent à utilisation mémoire potentiellement infinie, qui dépend entièrement de ce que tu as à parser - et il ne faut jamais faire confiance aux utilisateurs pour ne pas planter ton forum, je crois qu'on le sait tous tongue)
Donc il ne me semble relativement normal que tu ne trouves rien qui correspond à ce que tu cherches (et non, j'en connais pas non plus, désolé ^^), même si ce que tu demandes est loin (enfin dans une certaine mesure cheeky) d'être impossible, vu que dans ton cas le problème des balises non fermées ne se pose pas réellement ^^

Enfin bon ça me semble même "amusant" à coder, tu veux que je t'en fasse un pour tes tests ? :]
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

9

oh ne t'embête pas pour ça, j'ai déjà codé le mien et c'était justement pour faire quelques comparaisons que je voulais savoir si ça n'existait pas déjà ailleurs ^^
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)