IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

BB-code et smileys


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Avril 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 1
    Par défaut BB-code et smileys
    Bonjour à tous,

    Je suis niveau moyen en PHP. J'ai réalisé un livre d'or et j'ai pu ajouter un système de BB-code et de smileys. Jusque là tout va bien.

    Maintenant je veux convertir ces BB-code et smileys pour l'affichage du contenu du livre d'or et pour cela j'ai récupéré une fonction sur le BB-code et les smileys sur ce site.

    Mais je n'arrive pas à convertir mes BB-code est smileys avec. Il y a forcément un truc que j'ai râté quelque part.

    Est-ce que quelqu'un peut m'aider là ???

    Voici le code au complet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    <?php
     
    // on se connecte à notre base  
    $base = mysql_connect ('localhost', 'root', 'mypass');  
    mysql_select_db ('mybdd', $base);  
     
    // on prépare une requête permettant de calculer le nombre total d'éléments qu'il faudra afficher sur nos différentes pages  
    $sql = 'SELECT count(*) FROM livre_or';  
     
    // on exécute cette requête  
    $resultat = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
     
    // on récupère le nombre d'éléments à afficher  
    $nb_total = mysql_fetch_array($resultat);  
     
    // on teste si ce nombre de vaut pas 0  
    if (($nb_total = $nb_total[0]) == 0) {  
    echo 'Aucune réponse trouvée';  
    }  
    else {
       echo '<div class="message">'; 
     
    // sinon, on regarde si la variable $debut (le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, on l'initialise à 0  
    if (!isset($_GET['debut'])) $_GET['debut'] = 0; 
     
       $nb_affichage_par_page = 5; 
     
    // Préparation de la requête avec le LIMIT  
    $sql = 'SELECT * FROM livre_or ORDER BY id DESC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;  
     
    // on exécute la requête  
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
    //fonction BB-code et smileys
     
    function bbcode($text)
    {
       $text = nl2br($text);
     
       $text = str_replace("[b]", "<strong>", $text);
       $text = str_replace("[/b]", "</strong>", $text);
     
       $text = str_replace("[u]", "<u>", $text);
       $text = str_replace("[/u]", "</u>", $text);
     
       $text = str_replace("[i]", "<em>", $text);
       $text = str_replace("[/i]", "</em>", $text);
     
       $text = str_replace("[center]", "<center>", $text);
       $text = str_replace("[/center]", "</center>", $text);
     
       $text = str_replace("  ", "&nbsp;&nbsp;", $text);
     
       $text = str_replace('}()','<img src="images/smileys/smiley1ani.gif" alt="" style="border:0"/>',$text);
       $text = str_replace('8o','<img src="images/smileys/smiley2ani.gif" alt="" style="border:0"/>',$text);
       $text = str_replace(':D','<img src="images/smileys/smiley3ani.gif" alt="" style="border:0"/>',$text);
       $text = str_replace(':))','<img src="images/smileys/smiley4ani.gif" alt="" style="border:0"/>',$text);
       $text = str_replace('z|','<img src="images/smileys/smiley5ani.gif" alt="" style="border:0"/>',$text);
       $text = str_replace(':(','<img src="images/smileys/smiley6ani.gif" alt="" style="border:0"/>',$text);
       $text = str_replace(';)','<img src="images/smileys/smiley7ani.gif" alt="" style="border:0"/>',$text);
       $text = str_replace('8|','<img src="images/smileys/smiley9ani.gif" alt="" style="border:0"/>',$text);
       $patterns = array();
       $replacements = array();
     
       $patterns[] = "#\[img\](.*?)\[/img\]#si";
       $replacements[] = "<img src=\"\\1\" border=\"0\" />";
     
       $patterns[] = "#\[url\]([a-z0-9]+?://){1}([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)\[/url\]#is";
       $replacements[] = "<a href=\"\1\2\" target=\"_blank\" class=\"postlink\">\1\2</a>";
     
       $patterns[] = "#\[url\]((www|ftp)\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*?)?)\[/url\]#si";
       $replacements[] = "<a href=\"http://\\1\" target=\"_blank\" class=\"postlink\">\\1</a>";
     
       $patterns[] = "#\[url=([a-z0-9]+://)([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*?)?)\](.*?)\[/url\]#si";
       $replacements[] = "<a href=\"\\1\\2\">\\6</a>";
     
       $patterns[] = "#\[url=(([\w\-]+\.)*?[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)\](.*?)\[/url\]#si";
       $replacements[] = "<a href=\"http://\\1\">\\5</a>";
     
       $patterns[] = "#\[email\]([a-z0-9\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#si";
       $replacements[] = "<a href=\"mailto:\\1\">\\1</A>";
     
       return preg_replace($patterns, $replacements, $text);
    }
     
    echo bbcode($truc);
     
    // on va scanner tous les tuples un par un  
    while ($data = mysql_fetch_array($req)) {  
     
    // on affiches les résultats dans la <table>
    echo '<div class="en-tete_message"><table border="1"><tr><td width="250"><p class="titre_message">Par : ' , htmlentities(trim($data['name'])) , '</p></td><td width="233"><p class="titre_message">Le : ' , htmlentities(trim($data['date'])) , '</p></td><td width="100"><p class="titre_message">Note : ' , htmlentities(trim($data['note'])) , '/10</p></td></tr></table></div>
    <div class="corps_message"><table border="1" width="583"><tr><td><p class="texte_message">' , htmlentities(trim($data['message'])) , '</p></td></tr></table></div><br /><br />';  
    }
     
    // on libère l'espace mémoire alloué pour cette requête  
    mysql_free_result ($req); 
       echo '</div><br /><br />'; 
     
       // on affiche enfin notre barre 
       echo '<div class="nbr_pages">'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 3).'</div>';  
    }
     
    // on libère l'espace mémoire alloué pour cette requête  
    mysql_free_result ($resultat);  
    // on ferme la connexion à la base de données.  
    mysql_close ();  
    echo '</table><br />';  
    ?>

  2. #2
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Par défaut
    que se passe t-il quand tu essayes ? il t'affiche une image avec un lien mort ? l'url en texte ? rien du tout ?

Discussions similaires

  1. Smiley et son code dans un RichtTextBox
    Par goutbouyo dans le forum C#
    Réponses: 1
    Dernier message: 04/08/2009, 10h48
  2. De la rapidité du code
    Par jfloviou dans le forum Contribuez
    Réponses: 233
    Dernier message: 29/05/2009, 02h17
  3. [MFC](encapsulation ADO) ou placer le code
    Par philippe V dans le forum MFC
    Réponses: 2
    Dernier message: 13/06/2002, 14h58
  4. Explorateur de code C
    Par Zero dans le forum C
    Réponses: 14
    Dernier message: 06/06/2002, 09h41
  5. OmniORB : code sous Windows et Linux
    Par debug dans le forum CORBA
    Réponses: 2
    Dernier message: 30/04/2002, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo