BB Code --> HTML

Résolu
Nowhere Man Messages postés 319 Statut Membre -  
Nowhere Man Messages postés 319 Statut Membre -
Bonjour,
J'aimerais savoir comment transformer les BB Codes d'un textarea en HTML...?
Merci d'avance !
A voir également:

4 réponses

le hollandais volant Messages postés 5294 Statut Membre 1 057
 
Salut! Si c'est sur un forum, il faut que le webmaster l'ait activé.

sinon, pour les convertir, faudra le faire à la main.^^
0
Nowhere Man Messages postés 319 Statut Membre 95
 
Non c'est aps sur un forum, c'est sur mon site, je voudrais pouvoir faire en sorte que les gens qui laissent des messages dans les textarea puissent utiliser le BB Code, et pas les balises HTML (mesures de sécurité si jamais y'a des malins qui veulent mettre du php) le truc c'est que je sais pas comment traiter les données avec le BB Code pour le remettre en HTML.
0
samsam26 Messages postés 114 Statut Membre 6
 
Il faut utiliser les regex en php. Tu peux même inventer ton BBcode.

Si tu veux prendre le mien par exemple:
    $texte = nl2br($texte); //pour mettre des <br/> lors des retours à la ligne
    $texte = preg_replace('#\[gras\](.+)\/gras\#isU', '<b>$1</b>', $texte); //pour mettre en gras
    $texte = preg_replace('#\[italique\](.+)\/italique\#isU', '<i>$1</i>', $texte); //pour mettre en italique
    $texte = preg_replace('#\[souligne\](.+)\/souligne\#isU', '<u>$1</u>', $texte); //pour souligner
    $texte = preg_replace('#:\)#', '<img src="sourire.png" />', $texte); //cette ligne et les 22 suivantes c'est pour mettre des images.
    $texte = preg_replace('#:\(#', '<img src="triste.png" />', $texte);
    $texte = preg_replace('#O_O#i', '<img src="wouaw.png" />', $texte);
    $texte = preg_replace('#\*-\)#', '<img src="pensif.png" />', $texte);
    $texte = preg_replace('#:@#', '<img src="grrr.png" />', $texte);
    $texte = preg_replace('#:\$#', '<img src="gene.png" />', $texte);
    $texte = preg_replace('#;\)#', '<img src="clindoeil.gif" />', $texte);
    $texte = preg_replace('#\(a\)#i', '<img src="ange.png" />', $texte);
    $texte = preg_replace('#:\)#', '<img src="sourire.png" />', $texte);
    $texte = preg_replace('#:s#i', '<img src="=s.png" />', $texte);
    $texte = preg_replace('#:p#i', '<img src="=p.png" />', $texte);
    $texte = preg_replace('#:d#i', '<img src="content.png" />', $texte);
    $texte = preg_replace('#-_-#', '<img src="-_-.png" />', $texte);
    $texte = preg_replace('#\^\^#', '<img src="^^.png" />', $texte);
    $texte = preg_replace('#\(h\)#i', '<img src="(h).png" />', $texte);
    $texte = preg_replace('#\(k\)#i', '<img src="(k).png" />', $texte);
    $texte = preg_replace('#\(l\)#i', '<img src="(l).png" />', $texte);
    $texte = preg_replace('#=D#i', '<img src="grossourire.png" />', $texte);
    $texte = preg_replace('#\[fiouu\]#', '<img src="fiou.png" />', $texte);
    $texte = preg_replace('#\[inlove\]#', '<img src="inlove.png" />', $texte);
    $texte = preg_replace('#\[fou\]#', '<img src="fou.png" />', $texte);
    $texte = preg_replace('#\[clown\]#', '<img src="clown.png" />', $texte);
    $texte = preg_replace('#xd#i', '<img src="xd.png" />', $texte);
    $texte = preg_replace('#\[centre\](.+)\/centre\#isU', '<div style="text-align:center;">$1</div>', $texte); // pour centrer
    $texte = preg_replace('#\[couleur=(\#[a-z0-9]{6})\](.+)\/couleur\#isU', '<span style="color:$1;">$2</span>', $texte); // pour la couleur.
    $texte = preg_replace('#\[taille=([0-9]{2})\](.+)\/taille\#isU', '<span style="font-size:$1;">$2</span>', $texte); //pour la taille
    $texte = preg_replace('#http://[a-z0-9._/-]+#i', '<a href="$0">$0</a>', $texte); // pour les liens.


J'espère que sa peut t'être utile. Pour apprendre à te servir des regx, vas sur le site du zéro dans le tuto php/mysql.
Bonne soirée^^
0
Nowhere Man Messages postés 319 Statut Membre 95
 
Merci pour ton code c'est super sympa, mais bon je cherche pas un code déjà fait je voudrais bien le comprendre et le faire moi-même... mais je vais alelr voir les tutos sur le SdZ j'ai déjà lu pas mal d'articles mais j'avoue j'ai pas eu le temps de tout lire donc j'ai passé quelques tutos... merci de l'info =)
0