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 />';  
?>