Salut, voilà je viens juste de réaliser le tutoriel sur le bbcode et je l'ai appliquer sur mon site, cependant je rencontre un petit problème car la page qui contient le bbcode peut être modifier via la partie admin. Lorsque je valide et que je reviens sur l'index le bbcode qui était afficher correctement redeviens du simple code et on peut donc voir les balise b et /b. ex : " Après <b>quelques temps< /b> d’absences..."
Je demande donc votre aide pour pouvoir permettre l'utilisation du bbcode lorsque je rédige la news(ca marche déjà) et pouvoir modifier la news tout en rajoutant du bbcode. Voilà mes différentes pages :
L'index qui affiche la news avec le bbcode :
[code]$titre_new = nl2br(stripslashes($data["titre"]));
$contenu_new = nl2br(stripslashes($data["contenu"]));
$pseudo_new = nl2br(stripslashes($data["auteur"]));
$conv = array(
'[b](.?)[\/b]' => '<strong>$1</strong>',
'[i](.?)[\/i]' => '<em>$1</em>',
'[u](.?)[\/u]' => '<u>$1</u>',
'[img](.?)[\/img]' => '<div class="centrage"><img src="$1" alt="' .$titre_new. '"/></div>',
'[url=([^]])](.)[\/url]' => '<a href="$1">$2</a>',
'=)' => '<img src="img/smileys/21wd.png" />',
'=(' => '<img src="img/smileys/85tt.png" />',
'=o' => '<img src="img/smileys/13ve.png" />',
'=p' => '<img src="img/smileys/sweatingbullets.png" />',
'8-)' => '<img src="img/smileys/sunglasses.png" />',
'=@' => '<img src="img/smileys/bad.png" />',
'=\'(' => '<img src="img/smileys/55vz.png" />',
'=D' => '<img src="img/smileys/94tu.png" />',
'=|' => '<img src="img/smileys/doubt.png" />',
'=%' => '<img src="img/smileys/shock.png" />'
);
foreach($conv as $k=>$v)
{
$contenu_new = preg_replace('/'.$k.'/',$v , $contenu_new);
}
[/code]
La page qui ajoute la news une fois tapper :
[code]<?php
require "../inclusions/config.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);
mysql_query ('SET NAMES "UTF8"');
extract($_POST);
$titre = addslashes($_POST['titre']);
$pseudo = addslashes($_POST['auteur']);
$texte = addslashes($_POST['text']);
if(!empty($titre) && !empty($pseudo) && !empty($texte)) {
$texte = htmlentities($texte,ENT_NOQUOTES,'UTF-8');
$sql = "INSERT INTO news (titre,auteur,contenu) VALUES ('$titre','$pseudo','$texte')";
$req = mysql_query($sql) or die('Erreur SQL !<br />' .$sql. '<br />' .mysql_error());
header("Location: index.php");
} else {
echo '<p>Tous les champs doivent être remplis pour poster une news</p>';
echo '<a href="index.php">Cliquez ici pour recommencer.</a>';
}
?>[/code]
La page qui edit (la ou j'aimerai pouvoir voir le bbcode avec les balise [ b] et [/b ] ainsi que d'en rajouter :
[code] <?php
require "../inclusions/config.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);
mysql_query ('SET NAMES "UTF8"');
if (!empty($_POST))
{
extract($_POST);
$titre = addslashes($_POST['titre']);
$pseudo = addslashes($_POST['auteur']);
$texte = addslashes($_POST['text']);
$texte = html_entity_decode($texte); //htmlentities(,ENT_NOQUOTES,'UTF-8');
$sql = "UPDATE news SET titre='$titre', auteur='$auteur', contenu='$texte' WHERE id=$id";
$req = mysql_query($sql) or die('Erreur SQL !<br />' .$sql. '<br />' .mysql_error());
echo "<p><span style=\"color:red;\">New modifier !</span>,
<a href=\"index.php\">cliquez ici</a> pour revenir aux news</p><br />";
$_GET["id"]=$id;
}
$sql = "SELECT * FROM news WHERE id={$_GET["id"]}";
$req = mysql_query($sql) or die('Erreur SQL !<br />' .$sql. '<br />' .mysql_error());
$data = mysql_fetch_assoc($req);
?>
<a href="logout.php">Se déconnecter</a><br />
<p>News :</p>
<form method="post" action="edit.php">
<div id="emoticons">
<a href="#bbcode" title="=)"><img src="img/smileys/21wd.png" /></a>
<a href="#bbcode" title="=("><img src="img/smileys/85tt.png" /></a>
<a href="#bbcode" title="=o"><img src="img/smileys/13ve.png" /></a>
<a href="#bbcode" title="=p"><img src="img/smileys/sweatingbullets.png"/></a>
<a href="#bbcode" title="8-)"><img src="img/smileys/sunglasses.png" /></a>
<a href="#bbcode" title="=@"><img src="img/smileys/bad.png" /></a>
<a href="#bbcode" title="='("><img src="img/smileys/55vz.png" /></a>
<a href="#bbcode" title="=D"><img src="img/smileys/94tu.png" /></a>
<a href="#bbcode" title="=|"><img src="img/smileys/doubt.png" /></a>
<a href="#bbcode" title="=%"><img src="img/smileys/shock.png" /></a>
</div>
<p>
<input name="id" type="hidden" value="<?php echo $data["id"]; ?>"/>
Titre : <input type="text" name="titre" value="<?php echo $data["titre"]; ?>"/> <br />
Psuedo : <input type="text" name="auteur" value="<?php echo $data["auteur"]; ?>"/> <br />
<?php
$texte = nl2br(stripslashes($data["contenu"]));
$conv = array(
'\[b\](.*?)\[\/b\]' => '<strong>$1</strong>',
'\[i\](.*?)\[\/i\]' => '<em>$1</em>',
'\[u\](.*?)\[\/u\]' => '<u>$1</u>',
'\[img\](.*?)\[\/img\]' => '<img src="$1" class="img_imp" />',
'\[url=([^\]]*)\](.*)\[\/url\]' => '<a href="$1">$2</a>',
'=\)' => '<img src="img/smileys/21wd.png" />',
'=\(' => '<img src="img/smileys/85tt.png" />',
'=o' => '<img src="img/smileys/13ve.png" />',
'=p' => '<img src="img/smileys/sweatingbullets.png" />',
'8-\)' => '<img src="img/smileys/sunglasses.png" />',
'=@' => '<img src="img/smileys/bad.png" />',
'=\'\(' => '<img src="img/smileys/55vz.png" />',
'=D' => '<img src="img/smileys/94tu.png" />',
'=\|' => '<img src="img/smileys/doubt.png" />',
'=%' => '<img src="img/smileys/shock.png" />'
);
foreach($conv as $k=>$v)
{
$texte = preg_replace('/'.$k.'/',$v , $texte);
} ?>
<textarea id="bbcode" name="text"><?php echo $data["contenu"]; ?></textarea>
</p>
<input type="submit" value="Poster" />
</form>
</section>[/code]
Voilà merci d'avance pour vos réponse.