titnome Posté 20 Août 2010 Posté 20 Août 2010 Bonjour, Je suis entrain de coder un forum pour jeu. Et je voudrais appliquer la description de chaque forum au régime du BBcode afin d'avoir le même formatage. Le problème est que le parseur fait des siennes. Voici le code : <?php $chargementForums = sprintf("SELECT * FROM `Forums_Liste` ORDER BY `Ordre` ASC"); $requeteForums = mysql_query($chargementForums); $nombreForums = mysql_num_rows($requeteForums); if ( $nombreForums >= 1 ) { while($forums = mysql_fetch_array($requeteForums)) { $description = $forums['Description']; $description = bbcode($description); if ($description) { echo "<div class=\"forum\">"; echo "<a href=\"#tabs-2\" onclick=\"forum_sujet('".$forums['ID']."');\">".$forums['Titre']."</a><br/ >"; echo "<p>".$description."</p>"; echo "</div>"; } else { echo "<div class=\"message_information\">Impossible de charger le forum.</div>"; } } } else { echo "<div class=\"message_information\">Aucun forum de créé pour le moment.</div>"; }?> Et voici le message que me retourne cette partie de code : Impossible de charger le forum. Sur les autres pages pour lesquelles je l'utilise il fonctionne à la perfection. Mais la pas moyen d'afficher la moindre ligne de code. PS : Dans le cas ou je retire cette ligne : $description = bbcode($description); Il m'affiche bel et bien la description. Voici le parseur BBcode : <?php function bbcode($message) { if ( !empty($message) ) { $message = nl2br(htmlentities($message, ENT_NOQUOTES, 'UTF-8')); $message = stripslashes($message); $conv = array( '#\[g\](.*)\[/g\]#Usi' => '<b>$1</b>', '#\[i\](.*)\[/i\]#Usi' => '<i>$1</i>', '#\[s\](.*)\[/s\]#Usi' => '<u>$1</u>', '#\[align=centre\](.*)\[\/align\]#Usi' => '<div style="text-align : center">$1</div>', '#\[align=droite\](.*)\[\/align\]#Usi' => '<div style="text-align : right">$1</div>', '#\[align=justifie\](.*)\[\/align\]#Usi' => '<div style="text-align : justify">$1</div>', '#\[url=(.*)\](.*)\[\/url\]#Usi' => '<a href="$1" target="_blank">$2</a>', ); foreach ($conv as $key => $value) { $message = preg_replace($key, $value, $message); } $message = preg_replace_callback('#\[image=(.*)\]#Usi', redim_image, $message); $message = stripslashes($message); } else { $message = "<div class=\"message_erreur\">Une erreur est survenue pendant le traitement du code BBcode.</div>"; } return $message; }?> Et la fonction de redimensionnement d'image : <?phpfunction redim_image($message) { // vous pouvez travailler en url relative aussi: img.jpg $x = 500; # largeur a redimensionner $y = 375; # hauteur a redimensionner if (@fclose(@fopen($message['1'], 'r'))) { if( substr($message['1'],-3) == "jpg" || substr($message['1'],-3) == "gif" || substr($message['1'],-3) == "png" || substr($message['1'],-3) == "bmp" ) { $size = getimagesize($message['1']); if ($size[0] > $x) { $difference_x = $size[0]-$x; } if ($size[1] > $y) { $difference_y = $size[1]-$y; } if (!empty($difference_x)&&!empty($difference_y)) { if ($difference_x>$difference_y) { $pourcentage = round((100*$x)/$size[0]); } else { $pourcentage = round((100*$y)/$size[1]); } } else { if (!empty($difference_x) && empty($difference_y)) { $pourcentage = round((100*$x)/$size[0]); } else if (empty($difference_x) && !empty($difference_y)) { $pourcentage = round((100*$y)/$size[1]); } else { $pourcentage = '100'; } } if ($pourcentage != 100) { $multiplicateur = $pourcentage*0.01; $new_x = $size[0]*$multiplicateur; $new_y = $size[1]*$multiplicateur; $style= "style=\"width : ".$new_x."px; height : ".$new_y."px; border : 1px solid #996633; margin : 0px; padding : 0px;\""; $return = "<div><a href=\"".$message['1']."\" target=\"_blank\"><img src=\"".$message['1']."\" ".$style." /></a><br /><span style=\"background : #996633; margin : 0px; padding : 0px; padding : 5px;\">Image retouchée : ".$pourcentage."% de la taille originale.</span></div>"; } else { $return = "<img src=\"".$message['1']."\" />"; } } else { $return = "<div class=\"message_erreur\" style=\"display : block;\">Type de fichier non pris en charge.</div>"; } } else { $return = "<div class=\"message_erreur\" style=\"display : block;\">Le fichier spécifié n'éxiste pas.</div>"; } return $return;}?>
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant