Créer son jeu en PHP

Tout pour créer soit-même son jeu en PHP
 
AccueilAccueil  ­CalendrierCalendrier  ­FAQFAQ  ­RechercherRechercher  ­S'enregistrerS'enregistrer  ­MembresMembres  ­GroupesGroupes  ­ConnexionConnexion  
Poster un nouveau sujet   Répondre au sujetPartager | 
 

 Tuto BBcode

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
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

MessageSujet: 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

_________________
MON JEU DE TUNING
http://tunedup.kartzone.info


Dernière édition par le Dim 25 Juin - 15:43, édité 3 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tunedup.kartzone.info
Pio154
Grand habitué


Nombre de messages: 222
Age: 16
Date d'inscription: 16/04/2006

MessageSujet: Re: Tuto BBcode   Dim 25 Juin - 12:48

Super mes a moi je crois pas que me serviré lol !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.traficimages.goldzoneweb.info/
Planplan
Nouveau


Nombre de messages: 3
Age: 26
Date d'inscription: 19/06/2006

MessageSujet: 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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
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

MessageSujet: 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

_________________
MON JEU DE TUNING
http://tunedup.kartzone.info
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tunedup.kartzone.info
marghost
Modérateur JeuPHP


Nombre de messages: 680
Age: 19
Localisation: QUÉBEC PAWA ||| FRANCE NADA
Date d'inscription: 21/08/2005

MessageSujet: 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 MARGHOST

Hé les glands voici mon status sur Kopete(Windaube+msn=MORT )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.marghost.com
Loetheri
Grand habitué


Nombre de messages: 287
Date d'inscription: 17/12/2005

MessageSujet: 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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Globe
Modérateur Illustration


Nombre de messages: 1067
Age: 19
Date d'inscription: 15/05/2005

MessageSujet: Re: Tuto BBcode   Dim 25 Juin - 15:13

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.

_________________

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
marghost
Modérateur JeuPHP


Nombre de messages: 680
Age: 19
Localisation: QUÉBEC PAWA ||| FRANCE NADA
Date d'inscription: 21/08/2005

MessageSujet: 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 MARGHOST

Hé les glands voici mon status sur Kopete(Windaube+msn=MORT )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.marghost.com
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

MessageSujet: Re: Tuto BBcode   Dim 25 Juin - 15:33

Meme s'il est identique au systeme de phpbb tout le monde ne sait pas comment l'employer sur son site hors du forum

_________________
MON JEU DE TUNING
http://tunedup.kartzone.info
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tunedup.kartzone.info
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

MessageSujet: 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

_________________
MON JEU DE TUNING
http://tunedup.kartzone.info
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tunedup.kartzone.info
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

MessageSujet: 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

_________________
MON JEU DE TUNING
http://tunedup.kartzone.info
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tunedup.kartzone.info
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

MessageSujet: 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

_________________
MON JEU DE TUNING
http://tunedup.kartzone.info
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tunedup.kartzone.info
marghost
Modérateur JeuPHP


Nombre de messages: 680
Age: 19
Localisation: QUÉBEC PAWA ||| FRANCE NADA
Date d'inscription: 21/08/2005

MessageSujet: 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 MARGHOST

Hé les glands voici mon status sur Kopete(Windaube+msn=MORT )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.marghost.com
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

MessageSujet: Re: Tuto BBcode   Dim 25 Juin - 15:44

Ou est le probleme je leur reponds

_________________
MON JEU DE TUNING
http://tunedup.kartzone.info
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tunedup.kartzone.info
Loetheri
Grand habitué


Nombre de messages: 287
Date d'inscription: 17/12/2005

MessageSujet: Re: Tuto BBcode   Dim 25 Juin - 17:28

warren a écrit:
Ou est le probleme je leur reponds


Tu sais répondre en un post -_-' Trop complexe, semble-t-il
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 

Tuto BBcode

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Créer son jeu en PHP :: PROGRAMMATION :: Tutoriaux - scripts-
Poster un nouveau sujet   Répondre au sujet