Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec mon BBCode et mes smiley

Sujet résolu
    14 août 2006 à 12:51:52

    Salut !

    J'ai un problème avec mon bbcode et mes smiley :( J'ai respecté ce que disait le tuto présent sur le site, mais y a pas moyen de le faire marcher :euh:

    Le truc c'est qu'ils s'insèrent bien dans mon textearea, mais ensuite, une fois envoyé, ça n'affiche pas les smiley, et ça ne met pas en gras par exemple :(:(:(

    Voici mes différents codes :

    html >
    <form method="post" action="livredor.php" name="livredor">
       
        <p>
            Pseudo :
              <input name="pseudo" type="text" value="" />
        </p>
        <p>        Message :</p>
        <p><input type="button" onclick="javascript:bbcode('[b]', '[/b]')" value="Gras" />
    <input type="button" id="italic" name="italic" value="Italique" onclick="javascript:bbcode('[italic]', '[/italic]');return(false)" />
    <input type="button" id="lien" name="lien" value="Lien" onclick="javascript:bbcode('[url=]', '[/url]');return(false)" />
    <br />
              <textarea id="message" name="message" rows="12" cols="64"></textarea><!-- tous ces boutons seront des balises pour notre BBCode. Notez que l'on peut très bien mettre un lien ou une image qui seront comme des balises -->
        </p>

            <p class="smiley"><img src="images/smiley/smile.png" alt="smile" onClick="javascript:smilies(' :D ');return(false)" />
        <img src="images/smiley/xpldr.png" alt="xpldr" onClick="javascript:smilies(' x:pldr ');return(false)" />
        <img src="images/smiley/blink.gif" alt="blink" onClick="javascript:smilies(' bl:ink ');return(false)" />
            <img src="images/smiley/wacko.png" alt="wacko" onClick="javascript:smilies(' wac:ko ');return(false)" />
        <img src="images/smiley/oh.gif" alt="oh" onClick="javascript:smilies(' o:h ');return(false)" />
        <img src="images/smiley/malade.png" alt="malade" onClick="javascript:smilies(' mal:ade ');return(false)" />
        <img src="images/smiley/frown.png" alt="frown" onClick="javascript:smilies(' fro:wn ');return(false)" />
        <img src="images/smiley/oeil.gif" alt="oeil" onClick="javascript:smilies(' oei:l ');return(false)" />
            <img src="images/smiley/clin_lunettes.gif" alt="clin_lunettes" onClick="javascript:smilies(' lun:ettes ');return(false)" />
            <img src="images/smiley/amour.png" alt="amour" onClick="javascript:smilies(' :D ');return(false)" />
        <img src="images/smiley/siffle.gif" alt="siffle" onClick="javascript:smilies(' sif:fle ');return(false)" />
        <img src="images/smiley/oui.gif" alt="oui" onClick="javascript:smilies(' ou:i ');return(false)" />
            <img src="images/smiley/non.gif" alt="non" onClick="javascript:smilies(' no:n ');return(false)" />
            <img src="images/smiley/doute.gif" alt="doute" onClick="javascript:smilies(' dou:te ');return(false)" />
        <img src="images/smiley/langue_joyeux.gif" alt="langue_joyeux" onClick="javascript:smilies(' joy:eux ');return(false)" />
        <br/ >
            <img src="images/smiley/lol.gif" alt="lol" onClick="javascript:smilies(' lo:l ');return(false)" />
        <img src="images/smiley/mellow.png" alt="mellow" onClick="javascript:smilies(' me:llow ');return(false)" />
        <img src="images/smiley/pff.png" alt="pff" onClick="javascript:smilies(' :pff ');return(false)" />
        <img src="images/smiley/fleche.png" alt="fleche" onClick="javascript:smilies(' flec:he ');return(false)" />
        <img src="images/smiley/excl.png" alt="excl" onClick="javascript:smilies(' ex:cl ');return(false)" />
            <img src="images/smiley/biggrin.png" alt="biggrin" onClick="javascript:smilies(' bigg:rin ');return(false)" />
        <img src="images/smiley/langue.gif" alt="langue" onClick="javascript:smilies(' lan:gue ');return(false)" />
        <img src="images/smiley/saut.gif" alt="saut" onClick="javascript:smilies(' sau:t ');return(false)" />
        <img src="images/smiley/sourire.png" alt="sourire" onClick="javascript:smilies(' souri:re ');return(false)" />
        <img src="images/smiley/stuart.png" alt="stuart" onClick="javascript:smilies(' stuar:t ');return(false)" />
        <img src="images/smiley/colere.png" alt="colere" onClick="javascript:smilies(' col:ere ');return(false)" />
        <img src="images/smiley/pleure.gif" alt="pleure" onClick="javascript:smilies(' pleu:re ');return(false)" />

    </p>
        <p>        <input type="submit" value="Envoyer" />
        </p>
        </form>


    Javascript présent dans la balise head >
    <script type="text/javascript">
    function bbcode(bbdebut, bbfin)
    {
    var input = window.document.livredor.message;
    input.focus();
    /* pour IE (toujous un cas appar lui )*/
    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();
    }
    /* pour les navigateurs plus récents que IE comme Firefox... */
    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;
    }
    /* pour les autres navigateurs comme Netscape... */
    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.livredor.message.value += '' + img + '';
    }
    </script>


    Quelqu'un pourrait m'aider s'il vous plait ;)
    • Partager sur Facebook
    • Partager sur Twitter
      14 août 2006 à 16:14:40

      Salut !
      Je vais te donner un conseil : lis le tutorial (véritablement cette fois ci, ne te contente pas de faire un simple copier/coller) et tu verrais qu'il te manque la page previsualisation.js ! ;)
      Une fois que tu as adapté les noms tout devrait marcher !
      • Partager sur Facebook
      • Partager sur Twitter
        14 août 2006 à 16:16:35

        Mais je veux pas de prévisualisation :o

        Je vais y retourner :p

        Merci d'avoir répondu ^^
        • Partager sur Facebook
        • Partager sur Twitter
          14 août 2006 à 16:24:29

          Moi ça marchait bien je m'y connait pas trop je bidouille juste un peu. Il y a surement une fonction dans cette page ...
          • Partager sur Facebook
          • Partager sur Twitter
            14 août 2006 à 16:48:09

            Pas moyen de le faire marcher, même avec le .js

            var timer=0;
            var ptag=String.fromCharCode(5,6,7);
            function  previsualisation() {
            t=document.livredor.message.value
            t=code_to_html(t)
            if (document.getElementById) document.getElementById("prev").innerHTML=t
            if (document.livredor.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.livredor.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(/(\[\/b\])/g,t)
            t=remplace_tag(/\[b\](.+)\[\/b\]/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 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="images/smiley/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) {
            message=new String(t);
            return message.replace(reg,'
            $1\n');
            }
            function remblaie(t) {
            message=new String(t);
            return message.replace(/\n/g,'
            ');
            }
            function remplace_tag(reg,rep,t) {
            message=new String(t);
            return message.replace(reg,rep);
            }
            function nl2br(t) {
            message=new String(t);
            return message.replace(/\n/g,'
            <br/>');
            }
            function nl2khol(t) {
            message=new String(t);
            return message.replace(/\n/g,ptag);
            }
            function unkhol(t) {
            message=new String(t);
            return message.replace(new RegExp(ptag,'
            g'),'\n');
            }   
            • Partager sur Facebook
            • Partager sur Twitter
              14 août 2006 à 16:55:07

              Ah mais je sais !!! Je suis vraiment bête !!! ;) J'y était pas du tout oublis la page .js ! Il faut faire des REGEX en PHP ... Va voir dans les cours ou bien dans le forum PHP !
              Le PHP et moi ça vait 1 millions :lol:
              • Partager sur Facebook
              • Partager sur Twitter

              Problème avec mon BBCode et mes smiley

              × 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