Partage
  • Partager sur Facebook
  • Partager sur Twitter

bbcode new

    26 avril 2009 à 11:53:17

    bonjour, j'ai essayé de mettre du bbcode dans mes news mais quand je valide la new dans le message il y a écrit
    [g]gras[/g]
    
    au lieu de gras.
    voici mon code:
    <!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" xml:lang="fr">
      <head>
        <title></title>
    	<meta http-equiv="Content-Type" content="text/html;
    	      charset=iso-8859-1" />
    	<link rel="stylesheet" media="screen" type="text/css"
    	      title="design espace" href="style.css" />
    <script>
    function bbcode(bbdebut, bbfin)
    {
    var input = window.document.formulaire.contenu;
    input.focus();
    if(typeof document.selection != 'undefined')
    {
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = bbdebut + insText + bbfin;
    range = document.selection.createRange();
    if (insText.length == 0)
    {
    range.move('character', -bbfin.length);
    }
    else
    {
    range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
    }
    range.select();
    }
    else if(typeof input.selectionStart != 'undefined')
    {
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
    var pos;
    if (insText.length == 0)
    {
    pos = start + bbdebut.length;
    }
    else
    {
    pos = start + bbdebut.length + insText.length + bbfin.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
    }
     
    else
    {
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos))
    {
    pos = prompt("insertion (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length)
    {
    pos = input.value.length;
    }
    var insText = prompt("Veuillez taper le texte");
    input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
    }
    }
    function smilies(img)
    {
    window.document.formulaire.contenu.value += '' + img + '';
    }
    </script>
    
        </head>
        
        <body>
    <h3><a href="liste_news.php">Retour à la liste des news</a></h3>
    <?php
    mysql_connect("localhost", "", "");
    mysql_select_db("test");
    if (isset($_GET['modifier_news'])) // Si on demande de modifier une news
    {
        // On protège la variable "modifier_news" pour éviter une faille SQL
        $_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news']));
        // On récupère les infos de la news correspondante
        $retour = mysql_query('SELECT * FROM news WHERE id=\'' . $_GET['modifier_news'] . '\'');
        $donnees = mysql_fetch_array($retour);
        
        // On place le titre et le contenu dans des variables simples
        $titre = stripslashes($donnees['titre']);
        $contenu = stripslashes($donnees['contenu']);
        $id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
    }
    else // C'est qu'on rédige une nouvelle news
    {
        // Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news
        $titre = '';
        $contenu = '';
        $id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
    }
    ?>
    <form action="liste_news.php" method="post" name="formulaire">
    <p>Titre : <input type="text" size="40" name="titre" value="<?php echo $titre; ?>" /></p>
    <p>
    <fieldset><legend>Mise en forme</legend>
    <img src="images/bbcode/gras.jpg" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[g]', '[/g]');return(false)" />
    <img src="images/bbcode/italique.jpg" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('[i]', '[/i]');return(false)" />
    <img src="images/bbcode/souligne.jpg" id="souligné" name="souligné" value="Souligné" onClick="javascript:bbcode('[s]', '[/s]');return(false)" />
    <img src="images/bbcode/barre.jpg" id="barré" name="barré" value="Souligné" onClick="javascript:bbcode('[b]', '[/b]');return(false)" /></a>&nbsp;&nbsp;&nbsp;&nbsp;
    
    <img src="images/bbcode/mail.jpg" id="mail" name="lien" value="mail" onClick="javascript:bbcode('[mail]', '[/mail]');return(false)" />
    <img src="images/bbcode/lien.jpg" id="lien" name="lien" value="Lien" onClick="javascript:bbcode('[url]', '[/url]');return(false)" />
    <img src="images/bbcode/liste.jpg" id="liste" name="liste" value="liste" onClick="javascript:bbcode('[liste]', '[/liste]');return(false)" />
    <img src="images/bbcode/image.jpg" id="image" name="image" value="image" onClick="javascript:bbcode('[img]', '[/img]');return(false)" />
    
    <br /><br />
     <b>Flottant:</b><select name="float">
    	<option onClick="javascript:bbcode('[aligne=left]', '[/aligne]');return(false)">Gauche</option>
    	<option onClick="javascript:bbcode('[aligne=right]', '[/aligne]');return(false)">Droite</option>
    </select>&nbsp;&nbsp;
    <b>Taille:</b> <select name="size">
    	<option onClick="javascript:bbcode('[size=xx-small]', '[/size]');return(false)">Très très petit</option>
    	<option onClick="javascript:bbcode('[size=x-small]', '[/size]');return(false)">Très petit</option>
    	<option onClick="javascript:bbcode('[size=small]', '[/size]');return(false)">Petit</option>
    	<option onClick="javascript:bbcode('[size=medium]', '[/size]');return(false)">Normal</option>
    	<option onClick="javascript:bbcode('[size=large]', '[/size]');return(false)">Gros</option>
    	<option onClick="javascript:bbcode('[size=x-large]', '[/size]');return(false)">Très Gros</option>
    	<option onClick="javascript:bbcode('[size=xx-large]', '[/size]');return(false)">Très très gros</option>
    </select><br/><br/>
     <b>Police:</b><select name="police">
    	<option  style="font-family:Times New Roman"onClick="javascript:bbcode('[font=times]', '[/font]');return(false)">Times</option>
    	<option  style="font-family:Arial" onClick="javascript:bbcode('[font=arial]', '[/font]');return(false)">Arial</option>
    	<option style="font-family:Verdana" onClick="javascript:bbcode('[font=verdana]', '[/font]');return(false)">Verdana</option>
    </select>&nbsp;&nbsp;
     <b>Titre:</b><select name="titre">
    	<option style="font-size:16px" onClick="javascript:bbcode('[H1]', '[/H1]');return(false)">Titre1</option>
    	<option style="font-size:18px" onClick="javascript:bbcode('[H2]', '[/H2]');return(false)">Titre2</option>
    </select><br/><br/>
      <b>Couleur:</b><select name="color">
    	<option style="color:#FF0000" onClick="javascript:bbcode('[color=#FF0000]', '[/color]');return(false)">red</option>
    	<option style="color:#009933" onClick="javascript:bbcode('[color=#009933]', '[/color]');return(false)">green</option>
    	<option style="color:#0066CC" onClick="javascript:bbcode('[color=#0066CC]', '[/color]');return(false)">blue</option>
    	<option style="color:#FFFF33" onClick="javascript:bbcode('[color=#FFFF33]', '[/color]');return(false)">yellow</option>
    	<option style="color:purple"  onClick="javascript:bbcode('[color=purple]', '[/color]');return(false)">purple</option>
    	<option style="color:olive"   onClick="javascript:bbcode('[color=olive]', '[/color]');return(false)">olive</option>
    </select><br/><br/>
    <img src="images/bbcode/smileys/heureux.gif" title="heureux" alt="heureux" onClick="javascript:smilies(':D');return(false)" />
    <img src="images/bbcode/smileys/lol.gif" title="lol" alt="lol" onClick="javascript:smilies(':lol:');return(false)" />
    <img src="images/bbcode/smileys/triste.gif" title="triste" alt="triste" onClick="javascript:smilies(':triste:');return(false)" />
    <img src="images/bbcode/smileys/cool.gif" title="cool" alt="cool" onClick="javascript:smilies(':frime:');return(false)" />
    <img src="images/bbcode/smileys/rire.gif" title="rire" alt="rire" onClick="javascript:smilies('XD');return(false)" />
    <img src="images/bbcode/smileys/confus.gif" title="confus" alt="confus" onClick="javascript:smilies(':s');return(false)" />
    <img src="images/bbcode/smileys/choc.gif" title="choc" alt="choc" onClick="javascript:smilies(':O');return(false)" />
    <img src="images/bbcode/smileys/question.gif" title="?" alt="?" onClick="javascript:smilies(':interrogation:');return(false)" />
    <img src="images/bbcode/smileys/exclamation.gif" title="!" alt="!" onClick="javascript:smilies(':exclamation:');return(false)" />
    </fieldset><br/>
    
        Contenu :<br />
        <textarea name="contenu" cols="90" rows="10">
        <?php echo $contenu; ?>
        </textarea><br />
        
        <input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
        <input type="submit" value="Envoyer" />
    </p>
    </form>
    <p><a href="admin.php">Retour a la page Admin</a></p>
    </body>
    </html>
    


    Pouvez vous m'aider?
    merci d'avance.
    Ps C'est la page rediger_new du tuto de new.
    • Partager sur Facebook
    • Partager sur Twitter
      26 avril 2009 à 12:01:19

      Bah il te faut une fonction qui y transforme en code HTML...
      Vas voir les tutoriels de javascript...
      Insersion de balises dans une zone texte...
      • Partager sur Facebook
      • Partager sur Twitter
        26 avril 2009 à 12:23:27

        j'ai suivit le tuto et c'est encore pire ya plus rien qui s'affiche.
        Pouvez vous m'aider?
        merci d'avance.
        • Partager sur Facebook
        • Partager sur Twitter
          26 avril 2009 à 12:28:16

          ok
          voila:
          <!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" xml:lang="fr">
            <head>
              <title></title>
          	<meta http-equiv="Content-Type" content="text/html;
          	      charset=iso-8859-1" />
          	<link rel="stylesheet" media="screen" type="text/css"
          	      title="design espace" href="style.css" />
          <script type="text/javascript"> 
          <!--
          function insertTag(startTag, endTag, contenu, tagType) {
          	var field = document.getElementById(contenu);
          	field.focus();
          	
          	if (window.ActiveXObject) {
          		var textRange = document.selection.createRange();            
          		var currentSelection = textRange.text;
          	} else {
          		var startSelection   = field.value.substring(0, field.selectionStart);
          		var currentSelection = field.value.substring(field.selectionStart, field.selectionEnd);
          		var endSelection     = field.value.substring(field.selectionEnd);
          	}
          	
          	if (tagType) {
          		switch (tagType) {
          			case "lien":
          					endTag = "</lien>";
          					if (currentSelection) {
          							if (currentSelection.indexOf("http://") == 0 || currentSelection.indexOf("https://") == 0 || currentSelection.indexOf("ftp://") == 0 || currentSelection.indexOf("www.") == 0) {
          									var label = prompt("Quel est le libellé du lien ?") || "";
          									startTag = "<lien url=\"" + currentSelection + "\">";
          									currentSelection = label;
          							} else {
          									var URL = prompt("Quelle est l'url ?");
          									startTag = "<lien url=\"" + URL + "\">";
          							}
          					} else {
          							var URL = prompt("Quelle est l'url ?") || "";
          							var label = prompt("Quel est le libellé du lien ?") || "";
          							startTag = "<lien url=\"" + URL + "\">";
          							currentSelection = label;                     
          					}
          			break;
          			case "citation":
          					endTag = "</citation>";
          					if (currentSelection) {
          							if (currentSelection.length > 30) {
          									var auteur = prompt("Quel est l'auteur de la citation ?") || "";
          									startTag = "<citation nom=\"" + auteur + "\">";
          							} else {
          									var citation = prompt("Quelle est la citation ?") || "";
          									startTag = "<citation nom=\"" + currentSelection + "\">";
          									currentSelection = citation;    
          							}
          					} else {
          							var auteur = prompt("Quel est l'auteur de la citation ?") || "";
          							var citation = prompt("Quelle est la citation ?") || "";
          							startTag = "<citation nom=\"" + auteur + "\">";
          							currentSelection = citation;    
          					}
          			break;	
          		}
          	}
          	
          	if (window.ActiveXObject) {
          		textRange.text = startTag + currentSelection + endTag;
          		textRange.moveStart('character', -endTag.length-currentSelection.length);
          		textRange.moveEnd('character', -endTag.length);
          		textRange.select();  
          	} else { // Ce n'est pas IE
          		field.value = startSelection + startTag + currentSelection + endTag + endSelection;
          		field.focus();
          		field.setSelectionRange(startSelection.length + startTag.length, startSelection.length + startTag.length + currentSelection.length);
          	}      
          }
           
          function preview(contenu, previewDiv) {
          	var field = textareaId.value;
          	if (document.getElementById('previsualisation').checked && field) {
          		
          		var smiliesName = new Array(':magicien:', ':colere:', ':diable:', ':ange:', ':ninja:', '&gt;_&lt;', ':pirate:', ':zorro:', ':honte:', ':soleil:', ':\'\\(', ':waw:', ':\\)', ':D', ';\\)', ':p', ':lol:', ':euh:', ':\\(', ':o', ':colere2:', 'o_O', '\\^\\^', ':\\-°');
          		var smiliesUrl  = new 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');
          		var smiliesPath = "http://www.siteduzero.com/Templates/images/smilies/";
          	
          		field = field.replace(/&/g, '&amp;');
          		field = field.replace(/</g, '&lt;').replace(/>/g, '&gt;');
          		field = field.replace(/\n/g, '<br />').replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');
          		
          		field = field.replace(/&lt;gras&gt;([\s\S]*?)&lt;\/gras&gt;/g, '<strong>$1</strong>');
          		field = field.replace(/&lt;italique&gt;([\s\S]*?)&lt;\/italique&gt;/g, '<em>$1</em>');
          		field = field.replace(/&lt;lien&gt;([\s\S]*?)&lt;\/lien&gt;/g, '<a href="$1">$1</a>');
          		field = field.replace(/&lt;lien url="([\s\S]*?)"&gt;([\s\S]*?)&lt;\/lien&gt;/g, '<a href="$1" title="$2">$2</a>');
          		field = field.replace(/&lt;image&gt;([\s\S]*?)&lt;\/image&gt;/g, '<img src="$1" alt="Image" />');
          		field = field.replace(/&lt;citation nom=\"(.*?)\"&gt;([\s\S]*?)&lt;\/citation&gt;/g, '<br /><span class="citation">Citation : $1</span><div class="citation2">$2</div>');
          		field = field.replace(/&lt;citation lien=\"(.*?)\"&gt;([\s\S]*?)&lt;\/citation&gt;/g, '<br /><span class="citation"><a href="$1">Citation</a></span><div class="citation2">$2</div>');
          		field = field.replace(/&lt;citation nom=\"(.*?)\" lien=\"(.*?)\"&gt;([\s\S]*?)&lt;\/citation&gt;/g, '<br /><span class="citation"><a href="$2">Citation : $1</a></span><div class="citation2">$3</div>');
          		field = field.replace(/&lt;citation lien=\"(.*?)\" nom=\"(.*?)\"&gt;([\s\S]*?)&lt;\/citation&gt;/g, '<br /><span class="citation"><a href="$1">Citation : $2</a></span><div class="citation2">$3</div>');
          		field = field.replace(/&lt;citation&gt;([\s\S]*?)&lt;\/citation&gt;/g, '<br /><span class="citation">Citation</span><div class="citation2">$1</div>');
          		field = field.replace(/&lt;taille valeur=\"(.*?)\"&gt;([\s\S]*?)&lt;\/taille&gt;/g, '<span class="$1">$2</span>');
          		
          		for (var i=0, c=smiliesName.length; i<c; i++) {
          			field = field.replace(new RegExp(" " + smiliesName[i] + " ", "g"), "&nbsp;<img src=\"" + smiliesPath + smiliesUrl[i] + "\" alt=\"" + smiliesUrl[i] + "\" />&nbsp;");
          		}
          		
          		document.getElementById(previewDiv).innerHTML = field;
          	}
          }
           
          function getXMLHttpRequest() {
          	var xhr = null;
          	
          	if (window.XMLHttpRequest || window.ActiveXObject) {
          		if (window.ActiveXObject) {
          			try {
          				xhr = new ActiveXObject("Msxml2.XMLHTTP");
          			} catch(e) {
          				xhr = new ActiveXObject("Microsoft.XMLHTTP");
          			}
          		} else {
          			xhr = new XMLHttpRequest();
          		}
          	} else {
          		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
          		return null;
          	}
          	
          	return xhr;
          }
           
           
          function view(contenu, viewDiv){
          	var content = encodeURIComponent(document.getElementById(contenu).value);
          	var xhr = getXMLHttpRequest();
          	
          	if (xhr && xhr.readyState != 0) {
          		xhr.abort();
          		delete xhr;
          	}
          	
          	xhr.onreadystatechange = function() {
          		if (xhr.readyState == 4 && xhr.status == 200){
          			document.getElementById(viewDiv).innerHTML = xhr.responseText;
          		} else if (xhr.readyState == 3){
          			document.getElementById(viewDiv).innerHTML = "<div style=\"text-align: center;\">Chargement en cours...</div>";
          		}
          	}
          	
          	xhr.open("POST", "view.php", true);
          	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
          	xhr.send("string=" + content);
          }
           
          //-->
          </script>
          
              </head>
              
              <body>
          <h3><a href="liste_news.php">Retour à la liste des news</a></h3>
          <?php
          mysql_connect("localhost", "", "");
          mysql_select_db("");
          if (isset($_GET['modifier_news'])) // Si on demande de modifier une news
          {
              // On protège la variable "modifier_news" pour éviter une faille SQL
              $_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news']));
              // On récupère les infos de la news correspondante
              $retour = mysql_query('SELECT * FROM news WHERE id=\'' . $_GET['modifier_news'] . '\'');
              $donnees = mysql_fetch_array($retour);
              
              // On place le titre et le contenu dans des variables simples
              $titre = stripslashes($donnees['titre']);
              $contenu = stripslashes($donnees['contenu']);
              $id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
          }
          else // C'est qu'on rédige une nouvelle news
          {
              // Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news
              $titre = '';
              $contenu = '';
              $id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
          }
          ?>
          <form action="liste_news.php" method="post" >
          <p>
          			<input type="button" value="G" />
          			<input type="button" value="I" />
          			<input type="button" value="Lien" />
          			<input type="button" value="Image" />
          			<input type="button" value="Citation" />
          			<select onchange="insertTag('<' + this.options[this.selectedIndex].value + '>', '</' + this.options[this.selectedIndex].value + '>');">
          				<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>
          			<img src="http://users.teledisnet.be/web/mde28256/smiley/smile.gif" alt="smiley" />
          			<img src="http://users.teledisnet.be/web/mde28256/smiley/unsure2.gif" alt="smiley" />
          </p>
          <p>
          			<input name="previsualisation" type="checkbox" id="previsualisation" value="previsualisation" />
          			<label for="previsualisation">Pr&eacute;visualisation automatique</label>
          </p>
          <p>Titre : <input type="text" size="40" name="titre" value="<?php echo $titre; ?>" /></p>
          <p>
          <
              Contenu :<br />
              <textarea name="contenu" cols="90" rows="10">
              <?php echo $contenu; ?>
              </textarea><br />
          <div id="previewDiv"></div>
          	<p>
          		<input type="button" value="Visualiser" onclick="view('contenu','viewDiv');" />
          	</p>
          <div id="viewDiv"></div>
          
              <input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
              <input type="submit" value="Envoyer" />
          </p>
          </form>
          <p><a href="admin.php">Retour a la page Admin</a></p>
          </body>
          </html>
          
          • Partager sur Facebook
          • Partager sur Twitter
            26 avril 2009 à 12:33:09

            function preview(contenu, previewDiv) {
            	var field = textareaId.value;
            

            Tu le sors d'où textareaId ?
            Et pourquoi tu utilises pas contenu ?
            • Partager sur Facebook
            • Partager sur Twitter
              26 avril 2009 à 12:34:46

              dsl une erreur de ma part.C'est corrigé mais sa ne marche toujours pas.
              • Partager sur Facebook
              • Partager sur Twitter
                26 avril 2009 à 12:36:52

                Bah update ton code posté sur le forum...
                • Partager sur Facebook
                • Partager sur Twitter
                  26 avril 2009 à 13:17:22

                  Donne le code modifié selon mes recommendations...
                  Sinon, on ne peut pas savoir où tu en es...
                  • Partager sur Facebook
                  • Partager sur Twitter
                    26 avril 2009 à 14:01:22

                    ok:
                    <!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" xml:lang="fr">
                      <head>
                        <title></title>
                    	<meta http-equiv="Content-Type" content="text/html;
                    	      charset=iso-8859-1" />
                    	<link rel="stylesheet" media="screen" type="text/css"
                    	      title="design espace" href="style.css" />
                    <script type="text/javascript"> 
                    <!--
                    function insertTag(startTag, endTag, contenu, tagType) {
                    	var field = document.getElementById(contenu);
                    	field.focus();
                    	
                    	if (window.ActiveXObject) {
                    		var textRange = document.selection.createRange();            
                    		var currentSelection = textRange.text;
                    	} else {
                    		var startSelection   = field.value.substring(0, field.selectionStart);
                    		var currentSelection = field.value.substring(field.selectionStart, field.selectionEnd);
                    		var endSelection     = field.value.substring(field.selectionEnd);
                    	}
                    	
                    	if (tagType) {
                    		switch (tagType) {
                    			case "lien":
                    					endTag = "</lien>";
                    					if (currentSelection) {
                    							if (currentSelection.indexOf("http://") == 0 || currentSelection.indexOf("https://") == 0 || currentSelection.indexOf("ftp://") == 0 || currentSelection.indexOf("www.") == 0) {
                    									var label = prompt("Quel est le libellé du lien ?") || "";
                    									startTag = "<lien url=\"" + currentSelection + "\">";
                    									currentSelection = label;
                    							} else {
                    									var URL = prompt("Quelle est l'url ?");
                    									startTag = "<lien url=\"" + URL + "\">";
                    							}
                    					} else {
                    							var URL = prompt("Quelle est l'url ?") || "";
                    							var label = prompt("Quel est le libellé du lien ?") || "";
                    							startTag = "<lien url=\"" + URL + "\">";
                    							currentSelection = label;                     
                    					}
                    			break;
                    			case "citation":
                    					endTag = "</citation>";
                    					if (currentSelection) {
                    							if (currentSelection.length > 30) {
                    									var auteur = prompt("Quel est l'auteur de la citation ?") || "";
                    									startTag = "<citation nom=\"" + auteur + "\">";
                    							} else {
                    									var citation = prompt("Quelle est la citation ?") || "";
                    									startTag = "<citation nom=\"" + currentSelection + "\">";
                    									currentSelection = citation;    
                    							}
                    					} else {
                    							var auteur = prompt("Quel est l'auteur de la citation ?") || "";
                    							var citation = prompt("Quelle est la citation ?") || "";
                    							startTag = "<citation nom=\"" + auteur + "\">";
                    							currentSelection = citation;    
                    					}
                    			break;	
                    		}
                    	}
                    	
                    	if (window.ActiveXObject) {
                    		textRange.text = startTag + currentSelection + endTag;
                    		textRange.moveStart('character', -endTag.length-currentSelection.length);
                    		textRange.moveEnd('character', -endTag.length);
                    		textRange.select();  
                    	} else { // Ce n'est pas IE
                    		field.value = startSelection + startTag + currentSelection + endTag + endSelection;
                    		field.focus();
                    		field.setSelectionRange(startSelection.length + startTag.length, startSelection.length + startTag.length + currentSelection.length);
                    	}      
                    }
                     
                    function preview(contenu, previewDiv) {
                    	var field = contenu.value;
                    	if (document.getElementById('previsualisation').checked && field) {
                    		
                    		var smiliesName = new Array(':magicien:', ':colere:', ':diable:', ':ange:', ':ninja:', '&gt;_&lt;', ':pirate:', ':zorro:', ':honte:', ':soleil:', ':\'\\(', ':waw:', ':\\)', ':D', ';\\)', ':p', ':lol:', ':euh:', ':\\(', ':o', ':colere2:', 'o_O', '\\^\\^', ':\\-°');
                    		var smiliesUrl  = new 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');
                    		var smiliesPath = "http://www.siteduzero.com/Templates/images/smilies/";
                    	
                    		field = field.replace(/&/g, '&amp;');
                    		field = field.replace(/</g, '&lt;').replace(/>/g, '&gt;');
                    		field = field.replace(/\n/g, '<br />').replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');
                    		
                    		field = field.replace(/&lt;gras&gt;([\s\S]*?)&lt;\/gras&gt;/g, '<strong>$1</strong>');
                    		field = field.replace(/&lt;italique&gt;([\s\S]*?)&lt;\/italique&gt;/g, '<em>$1</em>');
                    		field = field.replace(/&lt;lien&gt;([\s\S]*?)&lt;\/lien&gt;/g, '<a href="$1">$1</a>');
                    		field = field.replace(/&lt;lien url="([\s\S]*?)"&gt;([\s\S]*?)&lt;\/lien&gt;/g, '<a href="$1" title="$2">$2</a>');
                    		field = field.replace(/&lt;image&gt;([\s\S]*?)&lt;\/image&gt;/g, '<img src="$1" alt="Image" />');
                    		field = field.replace(/&lt;citation nom=\"(.*?)\"&gt;([\s\S]*?)&lt;\/citation&gt;/g, '<br /><span class="citation">Citation : $1</span><div class="citation2">$2</div>');
                    		field = field.replace(/&lt;citation lien=\"(.*?)\"&gt;([\s\S]*?)&lt;\/citation&gt;/g, '<br /><span class="citation"><a href="$1">Citation</a></span><div class="citation2">$2</div>');
                    		field = field.replace(/&lt;citation nom=\"(.*?)\" lien=\"(.*?)\"&gt;([\s\S]*?)&lt;\/citation&gt;/g, '<br /><span class="citation"><a href="$2">Citation : $1</a></span><div class="citation2">$3</div>');
                    		field = field.replace(/&lt;citation lien=\"(.*?)\" nom=\"(.*?)\"&gt;([\s\S]*?)&lt;\/citation&gt;/g, '<br /><span class="citation"><a href="$1">Citation : $2</a></span><div class="citation2">$3</div>');
                    		field = field.replace(/&lt;citation&gt;([\s\S]*?)&lt;\/citation&gt;/g, '<br /><span class="citation">Citation</span><div class="citation2">$1</div>');
                    		field = field.replace(/&lt;taille valeur=\"(.*?)\"&gt;([\s\S]*?)&lt;\/taille&gt;/g, '<span class="$1">$2</span>');
                    		
                    		for (var i=0, c=smiliesName.length; i<c; i++) {
                    			field = field.replace(new RegExp(" " + smiliesName[i] + " ", "g"), "&nbsp;<img src=\"" + smiliesPath + smiliesUrl[i] + "\" alt=\"" + smiliesUrl[i] + "\" />&nbsp;");
                    		}
                    		
                    		document.getElementById(previewDiv).innerHTML = field;
                    	}
                    }
                     
                    function getXMLHttpRequest() {
                    	var xhr = null;
                    	
                    	if (window.XMLHttpRequest || window.ActiveXObject) {
                    		if (window.ActiveXObject) {
                    			try {
                    				xhr = new ActiveXObject("Msxml2.XMLHTTP");
                    			} catch(e) {
                    				xhr = new ActiveXObject("Microsoft.XMLHTTP");
                    			}
                    		} else {
                    			xhr = new XMLHttpRequest();
                    		}
                    	} else {
                    		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
                    		return null;
                    	}
                    	
                    	return xhr;
                    }
                     
                     
                    function view(contenu, viewDiv){
                    	var content = encodeURIComponent(document.getElementById(contenu).value);
                    	var xhr = getXMLHttpRequest();
                    	
                    	if (xhr && xhr.readyState != 0) {
                    		xhr.abort();
                    		delete xhr;
                    	}
                    	
                    	xhr.onreadystatechange = function() {
                    		if (xhr.readyState == 4 && xhr.status == 200){
                    			document.getElementById(viewDiv).innerHTML = xhr.responseText;
                    		} else if (xhr.readyState == 3){
                    			document.getElementById(viewDiv).innerHTML = "<div style=\"text-align: center;\">Chargement en cours...</div>";
                    		}
                    	}
                    	
                    	xhr.open("POST", "view.php", true);
                    	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                    	xhr.send("string=" + content);
                    }
                     
                    //-->
                    </script>
                    
                        </head>
                        
                        <body>
                    <h3><a href="liste_news.php">Retour à la liste des news</a></h3>
                    <?php
                    mysql_connect("localhost", "", "");
                    mysql_select_db("");
                    if (isset($_GET['modifier_news'])) // Si on demande de modifier une news
                    {
                        // On protège la variable "modifier_news" pour éviter une faille SQL
                        $_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news']));
                        // On récupère les infos de la news correspondante
                        $retour = mysql_query('SELECT * FROM news WHERE id=\'' . $_GET['modifier_news'] . '\'');
                        $donnees = mysql_fetch_array($retour);
                        
                        // On place le titre et le contenu dans des variables simples
                        $titre = stripslashes($donnees['titre']);
                        $contenu = stripslashes($donnees['contenu']);
                        $id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
                    }
                    else // C'est qu'on rédige une nouvelle news
                    {
                        // Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news
                        $titre = '';
                        $contenu = '';
                        $id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
                    }
                    ?>
                    <form action="liste_news.php" method="post" >
                    <p>
                    			<input type="button" value="G" />
                    			<input type="button" value="I" />
                    			<input type="button" value="Lien" />
                    			<input type="button" value="Image" />
                    			<input type="button" value="Citation" />
                    			<select onchange="insertTag('<' + this.options[this.selectedIndex].value + '>', '</' + this.options[this.selectedIndex].value + '>');">
                    				<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>
                    			<img src="http://users.teledisnet.be/web/mde28256/smiley/smile.gif" alt="smiley" />
                    			<img src="http://users.teledisnet.be/web/mde28256/smiley/unsure2.gif" alt="smiley" />
                    </p>
                    <p>
                    			<input name="previsualisation" type="checkbox" id="previsualisation" value="previsualisation" />
                    			<label for="previsualisation">Pr&eacute;visualisation automatique</label>
                    </p>
                    <p>Titre : <input type="text" size="40" name="titre" value="<?php echo $titre; ?>" /></p>
                    <p>
                    <
                        Contenu :<br />
                        <textarea name="contenu" cols="90" rows="10">
                        <?php echo $contenu; ?>
                        </textarea><br />
                    <div id="previewDiv"></div>
                    	<p>
                    		<input type="button" value="Visualiser" onclick="view('contenu','viewDiv');" />
                    	</p>
                    <div id="viewDiv"></div>
                    
                        <input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
                        <input type="submit" value="Envoyer" />
                    </p>
                    </form>
                    <p><a href="admin.php">Retour a la page Admin</a></p>
                    </body>
                    </html>
                    
                    • Partager sur Facebook
                    • Partager sur Twitter
                      26 avril 2009 à 14:32:51

                      Tu l'utilises où la focntion de preview ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        26 avril 2009 à 14:39:41

                        grace a la page prev.js je crois

                        var timer=0;
                        var ptag=String.fromCharCode(5,6,7);
                        function  previsualisation() {
                        t=document.formulaire.contenu.value  
                        t=code_to_html(t)
                        if (document.getElementById) document.getElementById("prev").innerHTML=t
                        if (document.formulaire.auto.checked) timer=setTimeout(previsualisation,1)
                        <!-- le "1" est le temps que met le texte à s'afficher, "1" : le texte s'affichera en même temps que l'on écrit (en s) -->
                        }
                        function automatique() {
                        if (document.formulaire.auto.checked) previsualisation() <!-- si on a cocher la case d'aperçu automatique -->
                        }
                        function code_to_html(t) {
                        t=nl2khol(t)
                        // balise Gras <!-- on lui dis que telles balises correspondent à tels codes en HTML -->
                        t=deblaie(/(\[\/gras\])/g,t)
                        t=remplace_tag(/\[gras\](.+)\[\/gras\]/g,'<span style="font-weight: bold;">$1</span>',t)  
                        t=remblaie(t)
                        
                        // balise Italic
                        t=deblaie(/(\[\/italic\])/g,t)
                        t=remplace_tag(/\[italic\](.+)\[\/italic\]/g,'<span style="font-style: italic;">$1</span>',t)  
                        t=remblaie(t)
                        
                        // balise Citation
                        t=deblaie(/(\[\/citation\])/g,t)
                        t=remplace_tag(/\[citation=([\s\S]*?)\](.+)\[\/citation\]/g,'<strong>Citation $1 :</strong><div style="border: 1px solid #000000; width: 50%; font-family: Verdana, \'Trebuchet MS\', Tahoma, \'Times New Roman\', Times, serif; text-align: left; font-size: 11px;" align="center">$2</div>',t)  
                        t=remblaie(t)
                        
                        // balise Image
                        t=deblaie(/(\[\/image\])/g,t)
                        t=remplace_tag(/\[image\](.+)\[\/image\]/g,'<img src="$1" />',t)
                        t=remblaie(t)
                        
                        // balise URL   
                        t=deblaie(/(\[\/url\])/g,t)
                        t=remplace_tag(/\[\url=([\s\S]*?)\](.+)\[\/url\]/g,'<a href="$1" target="_blank">$2</a>',t)
                        t=remblaie(t)
                        
                        // smilies Smile <!-- on oublie pas les smilies -->
                        t=remplace_tag(/:D/g,'<img src="http://sitepourmoi.fr.tc/images/images/smilies/smile.png" alt="" />',t)  
                        t=remblaie(t)
                        t=unkhol(t)
                        t=nl2br(t)
                        return t
                        }
                        <!-- tout le code qui suit c'est pour transformer toutes les balises, comme les preg_replace en PHP -->
                        function deblaie(reg,t) {
                        contenu=new String(t);
                        return contenu.replace(reg,'$1\n');
                        }
                        function remblaie(t) {
                        contenu=new String(t);
                        return contenu.replace(/\n/g,'');
                        }
                        function remplace_tag(reg,rep,t) {
                        contenu=new String(t);
                        return contenu.replace(reg,rep);
                        }
                        function nl2br(t) {
                        contenu=new String(t);
                        return contenu.replace(/\n/g,'<br/>');
                        }
                        function nl2khol(t) {
                        contenu=new String(t);
                        return contenu.replace(/\n/g,ptag);
                        }
                        function unkhol(t) {
                        contenu=new String(t);
                        return contenu.replace(new RegExp(ptag,'g'),'\n');
                        }
                        
                        • Partager sur Facebook
                        • Partager sur Twitter
                          26 avril 2009 à 15:01:44

                          Mwai... bah essaye de virer ta variable contenu... ou de la revoir... je pes que c'est elle qui fou la merde (et son nom ne correspond pas à ce qu'elle est)
                          • Partager sur Facebook
                          • Partager sur Twitter

                          bbcode new

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown