[probleme php] pour un systeme de news en bbcode
Posté : 17 août 2008, 09:46
Bonjour,
voilà j'ai un systeme de news en catégorie, mais j'aimerais le mettre en bbcode j'ai reussi a intégrer la partie ou on insere les news en bbcode, mais quand je vais sur ma page ou il y a les news et bien le bbcode ne fonctionne pas donc voici ma page news.php qui sert a afficher les news
voilà j'aimerais savoir que rajouter dans la page news.php pour que ceci fonctionne, ou que modifier merci davance
voilà j'ai un systeme de news en catégorie, mais j'aimerais le mettre en bbcode j'ai reussi a intégrer la partie ou on insere les news en bbcode, mais quand je vais sur ma page ou il y a les news et bien le bbcode ne fonctionne pas donc voici ma page news.php qui sert a afficher les news
<td width="79%">
<?php
// affichages des nouvelles avec découpage.
require('includes/news-start.php');
if (!isset($HTTP_GET_VARS['page']))
{
$i=0;
$l=10;
}else{
$i=10*$HTTP_GET_VARS['page'];
$l=10;
}
$requete="select * from news order by datenews";
$resultat=mysql_query($requete);
$r=mysql_num_rows($resultat);
$t=round($r/10)+1;
// fin de récupération du nombre de résultat: $r est le nombre de nouvelles, $t le nombre de pages.
$requete="select * from news order by datenews desc limit $i,$l";
$resultat=mysql_query($requete);
while ($tableau=mysql_fetch_array($resultat)){
echo "<h2><font color=\"#0000FF\">".stripslashes($tableau['titre'])."</font></h2>";
echo"<p>".stripslashes($tableau['news'])."</p>";
$datenews=substr($tableau['datenews'],8,2)."-".substr($tableau['datenews'],5,2)."-".substr($tableau['datenews'],0,4);
echo"<p>".$datenews." - <b>".$tableau['categorie']."</b></p>";
echo"<hr>";
}
$j=1;
echo"<a href=\"news.php\">Dernières news</a>";
while ($j<$t)
{
echo" - <a href=\"news.php?page=".$j."\">page".$j."</a></p>";
$j=$j+1;
}
?> </td>
</tr>
</table>
</body>
</html>
et voici ma page view.php pour afficher les balise bbcode qui vien du tuto de Ishango du siteduzero.com
<?php
function parseZCode($content) {
// Parsage des balises
$zcode = array(
'`<italique>(.+)</italique>`isU',
'`<gras>(.+)</gras>`isU',
'`<barre>(.+)</barre>`isU',
'`<lien>(.+)</lien>`isU',
'`<lien url="(.+)">(.+)</lien>`isU',
'`<image>(.+)</image>`isU',
'`<citation>(.+)</citation>`isU',
'`<citation nom="(.+)">(.+)</citation>`isU',
'`<citation lien="(.+)">(.+)</citation>`isU',
'`<taille valeur="(.+)">(.+)</taille>`isU'
);
$html = array(
'<em>$1</em>',
'<strong>$1</strong>',
'<del>$1</del>',
'<a href="$1">$1</a>',
'<a href="$1">$2</a>',
'<img src="$1" alt="Image utilisateur" />',
'<br /><span class="citation">Citation</span><div class="citation2">$1</div>',
'<br /><span class="citation">Citation : $1</span><div class="citation2">$2</div>',
'<br /><span class="citation"><a href="$1">Citation</a></span><div class="citation2">$2</div>',
'<span class="$1">$2</span>'
);
$content = preg_replace($zcode, $html, $content);
// parsage des smilies
$smiliesName = array(':magicien:', ':colere:', ':diable:', ':ange:', ':ninja:', '>_<', ':pirate:', ':zorro:', ':honte:', ':soleil:', ':\'\\(', ':waw:', ':\\)', ':D', ';\\)', ':p', ':lol:', ':euh:', ':\\(', ':o', ':colere2:', 'o_O', '\\^\\^', ':\\-°');
$smiliesUrl = array('magicien.png', 'angry.gif', 'diable.png', 'ange.png', 'ninja.png', 'pinch.png', 'pirate.png', 'zorro.png', 'rouge.png', 'soleil.png', 'pleure.png', 'waw.png', 'smile.png', 'heureux.png', 'clin.png', 'langue.png', 'rire.gif', 'unsure.gif', 'triste.png', 'huh.png', 'mechant.png', 'blink.gif', 'hihi.png', 'siffle.png');
$smiliesPath = "http://www.siteduzero.com/Templates/images/smilies/";
for ($i = 0, $c = count($smiliesName); $i < $c; $i++) {
$content = preg_replace('`' . $smiliesName[$i] . '`isU', '<img src="' . $smiliesPath . $smiliesUrl[$i] . '" alt="smiley" />', $content);
}
// Rtours à la ligne
$content = preg_replace('`\n`isU', '<br />', $content);
return $content;
}
if (isset($_POST["string"])) {
$content = $_POST["string"];
if (get_magic_quotes_gpc()) {
$content = stripslashes($content);
}
echo parseZCode($content); // Ecriture du contenu parsé.
}
?>
voilà j'aimerais savoir que rajouter dans la page news.php pour que ceci fonctionne, ou que modifier merci davance