Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !
Membre
|
Bonjour,
je n'arrive pas a parser mon code BBCODE! Tout fonctionne comme je le désire, mais à la lecture, le texte n'est pas en forme voulu aucune mise en forme! voici le code
mapage.php
<?php
session_start();
// on vérifie toujours qu'il s'agit d'un membre qui est connecté
if (!isset($_SESSION['login'])) {
// si ce n'est pas le cas, on le redirige vers l'accueil
header ('Location: index.php');
exit();
}
// on teste si le formulaire a bien été soumis
if (isset($_POST['Envoyer']) && $_POST['Envoyer'] == 'Envoyer') {
if (!isset($_GET['id_message']) || empty($_GET['id_message'])) {
function parsecode($content) {
// Parsage des balises
$code = 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>'
);
if (get_magic_quotes_gpc()) {
$content = stripslashes($content);
}
$content = nl2br(str_replace('&#', '&#',htmlspecialchars($content, ENT_QUOTES, 'UTF-8')));
$content = preg_replace($code, $html, $content);
// parsage des smilies
$smiliesName = array(':love:', ':bisouxx:', ':clin2:', ':confus:', ':vomir:', ':endormi:', ':foot:', ':ideeampoule:', ':pleurnich:', ':xD:', ':discuter:', ':fatigue:', ':tristesoupir:', ':tadssa:', ':gateauxaniv:', ':cafe:', ':houb:', ':msgamour:', ':tafoukt:', ':clinclin:', ':daccord:', ':danse:', ':oiseau:', ':mechant:', ':bananedanse:', ':bananesalut:', ':winner:', ':satisfait:', ':magicien:', ':nouveau:');
$smiliesUrl = array('amoureu-content.png', 'bisoux.gif', 'clin2.gif', 'confus.gif', 'vomir.gif', 'endormi.gif', 'foot.gif', 'idee-ampoule.gif', 'pleurer.gif', 'lol.gif', 'discuter.gif', 'malade.gif', 'triste-soupir.gif', 'hahah.gif', 'gateauanniv.gif', 'cafe.gif', 'houb.gif', 'msg_amour.gif', 'soleil.gif', 'clin.gif', 'daccord.gif', 'danse.gif', 'oiseau.gif', 'mechant.gif', 'banane-danse.gif', 'banane-salut.gif', 'winner.gif', 'satisfait.gif', 'magicien.gif', 'nouveau.gif');
$smiliesPath = "http://monsite.com/";
for ($i = 0, $c = count($smiliesName); $i < $c; $i++) {
$content = preg_replace('`' . $smiliesName[$i] . '`isU', '<img src="' . $smiliesPath . $smiliesUrl[$i] . '" alt="smiley" />', $content);
}
return $content;
}
if (isset($_POST["string"])) {
$content = $_POST["string"];
if (get_magic_quotes_gpc()) {
$content = stripslashes($content);
}
echo parsecode($content); // Ecriture du contenu parsé.
}
if (empty($_POST['expediteur']) || empty($_POST['titre']) || empty($_POST['message_text'])) {
$erreur = 'Au moins un des champs est vide.';
}
else {
include('mysql_connect.php');
mysql_select_db ('nom_base', $connexion_base) or die ("erreur de connexion base");
mysql_query("SET NAMES 'utf8'");
// si tout a été bien rempli, on insère le message dans notre table SQL
$date_mois = date('d/m/Y');
$hour_heure = date('H:i:s');
$datenvoi = $date_mois. " à " .$hour_heure;
$inser = 'INSERT INTO messages VALUES("", "'.$_SESSION['id'].'", "'.mysql_escape_string(str_replace('&#', '&#', htmlentities($_POST['expediteur'], ENT_QUOTES, "UTF-8"))).'", "'.$datenvoi.'", "'.mysql_escape_string(str_replace('&#', '&#', htmlentities(utf8_encode($_POST['titre']), ENT_QUOTES, "UTF-8"))).'", "'.mysql_escape_string(parsecode(utf8_encode($_POST['message_text']))).'", "0")';
mysql_query($inser) or die('Erreur SQL !'.$inser.'<br />'.mysql_error());
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Repondre aux messages!</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="bbcode/mep.css" rel="stylesheet" type="text/css" media="all" />
<link rel="stylesheet" type="text/css" href="bbcode/skin.css">
<script type="text/javascript" src="bbcode/bbc.js"></script>
<link href="includes/design.css" rel="stylesheet" type="text/css" />
<link href="includes/menucss.css" rel="stylesheet" type="text/css" />
<link href="includes/template.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?php include('includes/entetepage.php')?>
<a href="membre.php">Retour à l'accueil</a><br /><br />
Répondre :<br /><br />
<?php
include('mysql_connect.php');
mysql_select_db ('nom_base', $connexion_base) or die ("erreur de connexion base");
mysql_query("SET NAMES 'utf8'");
$sql = mysql_query('SELECT id_expediteur FROM messages WHERE id="'.$_GET['id_message'].'" AND id_destinataire="'.$_SESSION['id'].'"')or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$dnn = mysql_fetch_array($sql);
if(mysql_num_rows($sql)>0)
{
$logexp = $dnn['id_expediteur'];
$sreq = mysql_query('SELECT login FROM membre WHERE id="'.$logexp.'"')or die('Erreur SQL !<br />'.$sreq.'<br />'.mysql_error());
$dnno = mysql_fetch_array($sreq);
$idexpediteur = $dnno['id'];
}
?>
<form action="repondre.php" method="post">
A :<select name="expediteur">
<?php
echo '<option id="expediteur" value="'.$idexpediteur.'"><strong>'.$dnno['login'].'</strong>';
mysql_close();
?>
</select><br />
Titre : <input type="text" name="titre" value="<?php if (isset($_POST['titre'])) echo str_replace('&#', '&#',stripslashes(htmlentities($_POST['titre'], ENT_QUOTES, "UTF-8"))); ?>"><br />
Message :
<div>
<p>
<input type="button" style="font-weight: bold;" value="G" onclick="insertTag('<gras>', '</gras>', 'message_text')" />
<input type="button" style="font: italic;" value="I" onclick="insertTag('<italique>', '</italique>', 'message_text')" />
<input type="button" value="Lien" onclick="insertTag('', '', 'message_text', 'lien')" />
<input type="button" value="Image" onclick="insertTag('<image>', '</image>', 'message_text')" />
<input type="button" value="Citation" onclick="insertTag('', '', 'message_text', 'citation')" />
<select onchange="insertTag('<taille valeur="' + this.options[this.selectedIndex].value + '">', '</taille>', 'message_text');">
<option value="none" class="selected" selected="selected">Taille</option>
<option value="ttpetit">Très très petit</option>
<option value="tpetit">Très petit</option>
<option value="petit">Petit</option>
<option value="gros">Gros</option>
<option value="tgros">Très gros</option>
<option value="ttgros">Très très gros</option>
</select>
<select onchange="insertTag('<couleur valeur="' + this.options[this.selectedIndex].value + '">', '</couleur>', 'message_text');">
<option value="none" class="selected" selected="selected">Couleur</option>
<option value="cbleu" style="background-color:blue">Bleu</option>
<option value="crouge" style="background-color:red">Rouge</option>
<option value="cvert" style="background-color:green">Vert</option>
<option value="cmaroon" style="background-color:maroon">Maroon</option>
<option value="cnoire" style="background-color:black; color:white">Noire</option>
<option value="corange" style="background-color:orange">Orange</option>
</select>
<img src="http://users.teledisnet.be/web/mde28256/smiley/smile.gif" alt=":)" onclick="insertTag(' :) ', '', 'message_text');" />
<img src="http://users.teledisnet.be/web/mde28256/smiley/unsure2.gif" alt=":euh:" onclick="insertTag(' :euh: ', '', 'message_text');" />
</p>
<p>
<input name="previsualisation" type="checkbox" id="previsualisation" value="previsualisation" />
<label for="previsualisation">Prévisualisation automatique</label>
</p>
</div>
<table border="0"><tr><td>
<Textarea name="message_text" onkeyup="preview(this, 'previewDiv');" onselect="preview(this, 'previewDiv');" id="message_text" cols="100" rows="10"><?php if (isset($_POST['message_text'])) echo stripslashes(htmlentities($_POST['message_text'], ENT_QUOTES, "UTF-8")); ?></Textarea></td><td>
<?php include('includes/imoticones.php');?></td></tr></table>
<b><u>Aperçu de votre message:</u></b>
<table border="0" cellspacing="0" width="890px" cellpadding="0"><tr><td bgcolor="#CEF6F5"><div id="previewDiv"></div></td></tr></table>
<div id="viewDiv"></div>
<input type="submit" name="Envoyer" value="Envoyer"></form>
<?php
mysql_close();
?>
</select>
<br /><br /><a href="deconnexion.php">Déconnexion</a>
<?php
// si une erreur est survenue lors de la soumission du formulaire, on l'affiche
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
<?php include('includes/footer.php')?>
</body>
</html>
Merci davance!
|