|
|
| Auteur | Message |
|---|
warren Habitué

Nombre de messages: 115 Age: 18 Localisation: Terre -> Europe -> Belgique ->Comines->Cité Jardins 17->Ma chambre->Devant mon PC Date d'inscription: 30/03/2006
 | Sujet: Tuto BBcode Dim 25 Juin - 12:31 | |
| Bonjour, c'est mon premier tuto donc soyez sympas!  Le but de ce tuto est de montrer comment mettre du bbcode sur son site. Moi j'ai un peu galéré pour comprendre le fonctionnement et surtout comment ca ce mets. Donc nous allons d'abord créer le code qui remplace le bbcode par du html grace à des regex que nous allons ensuite includre: page bbcode.php | Code: | <?php
function bbcode($chaine) { $chaine = stripcslashes($chaine); ////Les smileys très important :p $chaine = str_replace(":D", "<img src='images/smileys/lol.gif'>", $chaine); $chaine = str_replace(":P", "<img src='images/smileys/p.gif'>", $chaine); $chaine = str_replace(":)", "<img src='images/smileys/lucky.gif'>", $chaine); $chaine = str_replace(":(", "<img src='images/smileys/red.gif'>", $chaine); $chaine = str_replace(":/", "<img src='images/smileys/hm.gif'>", $chaine); $chaine = str_replace(";)", "<img src='images/smileys/wink.gif'>", $chaine); $chaine = str_replace("8/7", "<img src='images/smileys/head.gif'>", $chaine); $chaine = str_replace(":-/", "<img src='images/smileys/wink.gif'>", $chaine); ////Mise en forme texte $chaine = preg_replace('/\[b\](.+?)\[\/b\]/', '<b>$1</b>', $chaine); $chaine = preg_replace('/\[i\](.+?)\[\/i\]/', '<i>$1</i>', $chaine); $chaine = preg_replace('/\[u\](.+?)\[\/u\]/', '<u>$1</u>', $chaine); $chaine = preg_replace('/\[size=(.+?)\](.+?)\[\/size\]/', '<font size=$1>$2</font>', $chaine); $chaine = preg_replace('/\[color=(.+?)\](.+?)\[\/color\]/', '<font color=$1>$2</font>', $chaine); ///Images et url $chaine = preg_replace('/\[img\](.+?)\[\/img\]/', '<img src="$1" />', $chaine); $chaine = preg_replace('/\[url\](.+?)\[\/url\]/', '<a href="$1" target="_blank">$1</a>', $chaine); $chaine = preg_replace('/\[url\](.+?)\[\/url\]/', '<a href="$1" target="_blank">$1</a>', $chaine); $chaine = preg_replace('/\[mail\](.+?)\[\/mail\]/', '<a href="mailto:$1">$1</a>', $chaine);
/////Autre $chaine = preg_replace('/\[left\](.+?)\[\/left\]/', '<div align="left">$1<div>', $chaine); $chaine = preg_replace('/\[center\](.+?)\[\/center\]/', '<div align="center">$1<div>', $chaine); $chaine = preg_replace('/\[right\](.+?)\[\/right\]/', '<div align="right">$1<div>', $chaine); $chaine = nl2br($chaine);
return($chaine); } ?> |
Je ne vais pas expliquer les regex en detail puisqu'il y a un bon tuto sur le site du zero (www.siteduzero.com)
Mais j'explique un peu quand même 
$chaine = preg_replace('/\[left\](.+?)\[\/left\]/', '<div align="left">$1<div>', $chaine);
Dans les premiers guillemets vous mettez ce qui doit etre change et entre les deux balises (.+?) ce qui veux dire qu'il y a des choses entre les balises qui sera attribue a une variable $1
Dans les deuxiemes guillemets vous mettez l'equivalent en html du la balise bbcode suivi de $1 qui mets le texte qu'il y a entre les balises et ensuite l'equivalent de la balise qui ferme
Et a la fin n'oubliez pas de mettre $chaine
Maintenant la page ou le bbcode doit etre mis: Il faut mettre une fonction sur les parties qui doivent etre transformees, inutile de mettre sur tout le code puisque ca ne ferait que alourdir ou parfois des parse errors. Donc on fait echo bbcode('le texte a changer');
| Code: | <?php session_start(); require("bbcode.php");
<head> <title>Ma page</title> </head>
<body> ///ce que vous voulez transformer en bbcode vous le mettez dans la fonction echo bbcode('ce que je veux changer'); ?>
|
Avent de finir un petit exemple de mon forum ou les messages sont transformes en bbcode:
| Code: | if($todo == view) { if(isset($_GET['topic_name'])) { $topic_name=$_GET['topic_name']; $query_author_message=mysql_query("SELECT * FROM tunedup_forum_topics WHERE Name='$topic_name'"); $query_post=mysql_query("SELECT * FROM tunedup_forum_posts WHERE Topic='$topic_name' ORDER by ID asc"); print "<table border='1' cellspacing='0' cellpadding='0'>"; print "<tr><th colspan=3>$topic_name</th></tr>"; while ($author_message=mysql_fetch_array($query_author_message)) { $authmesgnl=nl2br($author_message[Message]); ?> <tr><td width="500px"><font color="blue" size="1px">Author : <? echo $author_message[Author]; ?></font><br><? echo bbcode("$authmesgnl"); ?></td></tr> <? } while ($post=mysql_fetch_array($query_post)) { $mesgnl=nl2br($post[Message]); ?> <tr><td width="500px"><div style="overflow: scroll"><font color="blue" size="1px">Author : <? echo $post[Author]; ?></font><br> /////ICI est la fonction pour changer en bbcode <? echo bbcode("$mesgnl"); ?></td></tr> <? } print "<tr><th colspan=3><a href=forum.php?todo=createm&topic_name=$topic_name>Post message</a></th></tr></table>"; } else { print "No topic selected!"; } }
|
Voila c'est fini, j'espère que cela pourra aider certaines personnes
Merci et bonne chance avec le bbcode et n'hesitez pas à ajouter d'autre bbcodes
Dernière édition par le Dim 25 Juin - 15:43, édité 3 fois |
|
 | |
Pio154 Grand habitué

Nombre de messages: 222 Age: 16 Date d'inscription: 16/04/2006
 | Sujet: Re: Tuto BBcode Dim 25 Juin - 12:48 | |
| Super mes a moi je crois pas que me serviré lol ! |
|
 | |
Planplan Nouveau
Nombre de messages: 3 Age: 26 Date d'inscription: 19/06/2006
 | Sujet: Re: Tuto BBcode Dim 25 Juin - 12:54 | |
| Un tutoriel pas mal (même si tu n'expliques peut-être pas assez peut-être  ). Mais que se passe t'il si quelqu'un ferme mal ses balises? Ou si elle sont mal imbriquées ( ... au lieu de ... )? Si on ferme une balise jamais ouverte? Un lien utile à voir pour les BBCodes : http://pear.php.net/package/HTML_BBCodeParser |
|
 | |
warren Habitué

Nombre de messages: 115 Age: 18 Localisation: Terre -> Europe -> Belgique ->Comines->Cité Jardins 17->Ma chambre->Devant mon PC Date d'inscription: 30/03/2006
 | Sujet: Re: Tuto BBcode Dim 25 Juin - 13:08 | |
| Si les balises ne sont pas fermes elles ne seront pas changes. Ja vaisessayer de mieux expliquer je vais l'éditer  |
|
 | |
marghost Modérateur JeuPHP

Nombre de messages: 680 Age: 19 Localisation: QUÉBEC PAWA ||| FRANCE NADA Date d'inscription: 21/08/2005
 | Sujet: Re: Tuto BBcode Dim 25 Juin - 13:48 | |
| je ne veux pas te dénigré toi ou ton travail mais il me semble que ce système de bbcode est identique au système de phpbb (je ne suis pas sur ce n'est que dans mes souvenirs) alors si quelqu'un a le temps il pourais nous en reparler car je ne veux pas te jeter la pierre sans en ètre sur  _________________ MARK DEVENU MARGHOSTHé les glands voici mon status sur Kopete(Windaube+msn=MORT  )  |
|
 | |
Loetheri Grand habitué
Nombre de messages: 287 Date d'inscription: 17/12/2005
 | Sujet: Re: Tuto BBcode Dim 25 Juin - 14:31 | |
| Je ne veux pas etre méchant (moi, non plus). Mais utiliser le REGEX, c'est mal ! Tu utilises preg_replace dans bien trop de cas alors que str_replace est tout aussi équivalent. On peut d'ailleurs lire dans la documentation PHP à la page de str_replace (on parle de str_replace naturellement  ) : | Citation: | | Si vous n'avez pas besoin de règles de remplacement compliquées, utilisez cette fonction de préférence à ereg_replace() et preg_replace(). |
De plus, mais ce n'est que personnel. Je trouve absurde d'utiliser des balises tels que celles que tu nous montres. Autant faire un peu entrer dans la tete des gens, les balises HTML (ou xHTML) et pas un truc qui ne correspond qu'à un seul langage : le tien  |
|
 | |
Globe Modérateur Illustration

Nombre de messages: 1067 Age: 19 Date d'inscription: 15/05/2005
 | |
 | |
marghost Modérateur JeuPHP

Nombre de messages: 680 Age: 19 Localisation: QUÉBEC PAWA ||| FRANCE NADA Date d'inscription: 21/08/2005
 | Sujet: Re: Tuto BBcode Dim 25 Juin - 15:17 | |
| c'est vrais que mon tutorial quoique fait assez rapidement est plus complet que celui ci... mais bon on peut toujours avoir deux point de vue sur une seule chose c'est ètre objectif  _________________ MARK DEVENU MARGHOSTHé les glands voici mon status sur Kopete(Windaube+msn=MORT  )  |
|
 | |
warren Habitué

Nombre de messages: 115 Age: 18 Localisation: Terre -> Europe -> Belgique ->Comines->Cité Jardins 17->Ma chambre->Devant mon PC Date d'inscription: 30/03/2006
 | |
 | |
warren Habitué

Nombre de messages: 115 Age: 18 Localisation: Terre -> Europe -> Belgique ->Comines->Cité Jardins 17->Ma chambre->Devant mon PC Date d'inscription: 30/03/2006
 | Sujet: Re: Tuto BBcode Dim 25 Juin - 15:34 | |
| | mark a écrit: | je ne veux pas te dénigré toi ou ton travail mais il me semble que ce système de bbcode est identique au système de phpbb (je ne suis pas sur ce n'est que dans mes souvenirs) alors si quelqu'un a le temps il pourais nous en reparler car je ne veux pas te jeter la pierre sans en ètre sur  | s'il est identique au systeme de phpbb tout le monde ne sait pas comment l'employer sur son site hors du forum |
|
 | |
warren Habitué

Nombre de messages: 115 Age: 18 Localisation: Terre -> Europe -> Belgique ->Comines->Cité Jardins 17->Ma chambre->Devant mon PC Date d'inscription: 30/03/2006
 | Sujet: Re: Tuto BBcode Dim 25 Juin - 15:35 | |
| | Loetheri a écrit: | Je ne veux pas etre méchant (moi, non plus). Mais utiliser le REGEX, c'est mal !
Tu utilises preg_replace dans bien trop de cas alors que str_replace est tout aussi équivalent. On peut d'ailleurs lire dans la documentation PHP à la page de str_replace (on parle de str_replace naturellement ) :
| Citation: | | Si vous n'avez pas besoin de règles de remplacement compliquées, utilisez cette fonction de préférence à ereg_replace() et preg_replace(). |
De plus, mais ce n'est que personnel. Je trouve absurde d'utiliser des balises tels que celles que tu nous montres. Autant faire un peu entrer dans la tete des gens, les balises HTML (ou xHTML) et pas un truc qui ne correspond qu'à un seul langage : le tien  | je suis completement d'accord avec ton avis de faire utiliser du html mais apparament les joueurs trouvent le bbcode plus simple moi je le trouve seulemenbt pratique pour les smileys  |
|
 | |
warren Habitué

Nombre de messages: 115 Age: 18 Localisation: Terre -> Europe -> Belgique ->Comines->Cité Jardins 17->Ma chambre->Devant mon PC Date d'inscription: 30/03/2006
 | Sujet: Re: Tuto BBcode Dim 25 Juin - 15:36 | |
| | Globe a écrit: | | Personellement j'utilise un mélange du tuto de mark et d'un système permettant de placer les balises à l'endroit souhaité trouvé sur le web, sa marche à merveille. | Chacun son système :p |
|
 | |
marghost Modérateur JeuPHP

Nombre de messages: 680 Age: 19 Localisation: QUÉBEC PAWA ||| FRANCE NADA Date d'inscription: 21/08/2005
 | Sujet: Re: Tuto BBcode Dim 25 Juin - 15:40 | |
| putin tu vien toi même de mettre le clou dans ton cercueil 4 message de fil je ne ferais aucun commentaire je laisse les autres penser ce qu'ils veulent  _________________ MARK DEVENU MARGHOSTHé les glands voici mon status sur Kopete(Windaube+msn=MORT  )  |
|
 | |
warren Habitué

Nombre de messages: 115 Age: 18 Localisation: Terre -> Europe -> Belgique ->Comines->Cité Jardins 17->Ma chambre->Devant mon PC Date d'inscription: 30/03/2006
 | |
 | |
Loetheri Grand habitué
Nombre de messages: 287 Date d'inscription: 17/12/2005
 | |
 | |
|