Partage
  • Partager sur Facebook
  • Partager sur Twitter

comment inserer une image dans un livre d'or

avec le bbcode

    14 octobre 2008 à 13:13:22

    Bonjour

    je me suis inspiré de ce super tuto pour ajouter du bbcode à mon formulaire de livre d'or

    tout fonctionne a merveille

    je souhaiterais cependant mettre en place une fonction "ajouter une image"
    je ne sais pas exactement ce que je dois faire dans code javascript ni dans mon formulaire php

    quelqu'un peut-il m'aidé?

    merci
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      14 octobre 2008 à 20:33:09

      Bonjour, moi j'ai fait ceci, tu le met dans ton bbcode.

      // image
         $regImage="\[img\] ?([^\[]*) ?\[/img\]";
         $regImageAlternatif="\[img ?= ?([^\[]*) ?\]";
         if (ereg($regImage, $contenu)) $contenu=ereg_replace($regImage, "<img src=\"\\1\" alt=\"\" border=\"0\" />", $contenu);
         else $contenu=ereg_replace($regImageAlternatif, "<img src=\"\1\" alt=\"\" border=\"0\" />", $contenu);
      


      Ensuite je met [img]mon_image[/img]
      • Partager sur Facebook
      • Partager sur Twitter
        14 octobre 2008 à 21:33:44

        merci beaucoup! :)

        mais au niveau du javascript et du bouton du formulaire, ya rien à ajouter?

        je viens de faire le test et ca marche pas

        voici mon code php
        <?php
        include ('script.php')
        ?>
        <div align="center">
        <table height="100%" width="72%" CELLPADDING= "15" border="0" background="livreor_fond.png">
          <tr>
            <td>
        <br><br><br><br><br>
        <form action="http://xxxxx.free.fr/topic/topic/livredor1/livreor_web.php" method="post" name="formLivre">
             <label><FONT color="#00FF00"><h3>Pseudo</h3> <p></font><input type="text" name="pseudo" value="
        <?php
         if ( isset($_POST['pseudo']))
        {
        echo $_POST['pseudo'];
        }
         ?>
        "/> </label></p>
            <p><FONT color="#999999"><h3>Message</h3> <p></font>
        <input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[g]', '[/g]');return(false)" />
        <input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('[i]', '[/i]');return(false)" />
        <input type="button" id="souligné" name="souligné" value="Souligné" onClick="javascript:bbcode('[s]', '[/s]');return(false)" />
        <input type="button" id="lien" name="lien" value="Lien" onClick="javascript:bbcode('[url]', '[/url]');return(false)" />
        <input type="button" id="img" name="img" value="img" onClick="javascript:bbcode('[img]', '[/img]');return(false)" />
        <br /><br />
        <img src="01.png" title=":-)" alt=":-)" onClick="javascript:smilies(' :-) ');return(false)" />
        <img src="02.png" title=";-)" alt=";-)" onClick="javascript:smilies(' ;-) ');return(false)" />
        <img src="03.png" title=":-))" alt=":-))" onClick="javascript:smilies(' :-)) ');return(false)" />
        <img src="04.png" title=":o)" alt=":o)" onClick="javascript:smilies(' :o) ');return(false)" />
        <img src="05.png" title=":-((" alt=":-((" onClick="javascript:smilies(' :-(( ');return(false)" />
        <img src="06.png" title=":-(" alt=":-(" onClick="javascript:smilies(' :-( ');return(false)" />
        <img src="07.png" title="8-)" alt="8-)" onClick="javascript:smilies(' 8-) ');return(false)" />
        <img src="08.png" title=":-p" alt=":-p" onClick="javascript:smilies(' :-p ');return(false)" />
        <textarea name="message" cols="60" rows="4">
        </textarea><br><br>
            
            <input type="submit" value="Envoyer" />
         
        </form>
        </td>
          </tr>
        <br><br>
        </table>
        <table height="100%" width="72%" CELLPADDING= "15" border="0" background="livreor_fond_b.png">
          <tr>
            <td>
        
        </div>
        <?php
        mysql_connect("sql.free.fr", "xxxxx", "xxxxx");
        mysql_select_db("xxxxx");
        
        function bbcode($message)
            {
                $message = str_replace(":-)", "<img src='01.png' border='0'>", $message);
                $message = str_replace(";-)", "<img src='02.png' border='0'>", $message);
                $message = str_replace(":-))", "<img src='03.png' border='0'>", $message);
                $message = str_replace(":o)", "<img src='04.png' border='0'>", $message);
                $message = str_replace(":-((", "<img src='05.png' border='0'>", $message);
                $message = str_replace(":-(", "<img src='06.png' border='0'>", $message);
                $message = str_replace("8-)", "<img src='07.png' border='0'>", $message);
                $message = str_replace(":-p", "<img src='08.png' border='0'>", $message);
                $message = str_replace(";-p", "<img src='08.png' border='0'>", $message);
                $message = str_replace(":-/", "<img src='01.png' border='0'>", $message);
        //Mise en forme du texte
        //gras
        $message = preg_replace('`\[g\](.+)\[/g\]`isU', '<strong>$1</strong>', $message); 
        //italique
        $message = preg_replace('`\[i\](.+)\[/i\]`isU', '<em>$1</em>', $message);
        //souligné
        $message = preg_replace('`\[s\](.+)\[/s\]`isU', '<u>$1</u>', $message);
        //lien
        $message = preg_replace('#http://[a-z0-9._/-]+#i', '<a href="$0">$0</a>', $message);
        // image
           $regImage="\[img\] ?([^\[]*) ?\[/img\]";
           $regImageAlternatif="\[img ?= ?([^\[]*) ?\]";
           if (ereg($regImage, $message)) $message=ereg_replace($regImage, "<img src=\"\\1\" alt=\"\" border=\"0\" />", $message);
           else $message=ereg_replace($regImageAlternatif, "<img src=\"\1\" alt=\"\" border=\"0\" />", $message);
        
        //fin
        
        return $message;
                }
        


        et voici mon script:

        <script LANGUAGE="JavaScript">
        function bbcode(bbdebut, bbfin)
        {
        var input = window.document.formLivre.message;
        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)
        {
          document.forms['formLivre'].message.value +=img;
        }
        
        </script>
        


        Peux tu me dire ce que je dois modifier?

        merci
        • Partager sur Facebook
        • Partager sur Twitter
          14 octobre 2008 à 21:53:32

          Voila :
          <?php
          // image
          $message = preg_replace('#\[img\] ?([^\[]*) ?\[/img\]#isU', '<img src="$1" alt="" border="0" />', $message);
          $message = preg_replace('#\[img ?= ?([^\[]*) ?\] ?([^\[]*) ?\[/img\]#isU', '<img src="$1" alt="$2" border="$0" />', $message);
          ?>
          

          • Partager sur Facebook
          • Partager sur Twitter
            14 octobre 2008 à 22:05:58

            merci je viens de l'integrer à mon code mais j'ai toujours le meme soucis

            au niveau du bouton dans le formulaire, ca passe ce code?:
            <input type="button" id="img" name="img" value="img" onClick="javascript:bbcode('[img]', '[/img]');return(false)" />
            


            désolé mais je suis tout neuf en javascript :euh:
            • Partager sur Facebook
            • Partager sur Twitter
              14 octobre 2008 à 22:17:29

              Quel est le problème ?
              Quand tu clique sur le bouton, ca rajoute pas [img] [/img] ?
              Ou bien, une fois valider, ca remplace pas par une image ?
              • Partager sur Facebook
              • Partager sur Twitter
                14 octobre 2008 à 22:20:39

                quand je clique qur le bouton j'ai bien [img] [/img], je place mon image genre ce lien :
                http://z.about.com/d/contests/1/0/S/0/-/-/HGTV_2008DH_TwinGuestRoom400.jpg
                


                et j'obtiens ca dans le livfre d'or quand je clique sur envoyer
                http://z.about.com/d/contests/1/0/S/0/-/-/HGTV_2008DH_TwinGuestRoom400.jpg[/img]" alt="" border="0" />
                • Partager sur Facebook
                • Partager sur Twitter
                  14 octobre 2008 à 22:25:37

                  <?php
                  // image
                  $message = preg_replace('#\[img\] ?([^\[]*) ?\[/img\]#isU', '<img src="$1" alt="" border="0" />', $message);
                  $message = preg_replace('#\[img ?= ?([^\[]*) ?\] ?([^\[]*) ?\[/img\]#isU', '<img src="$1" alt="$2" border="0" />', $message);
                  ?>
                  
                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 octobre 2008 à 22:31:51

                    j'ai exactement le meme resultat


                    le probleme ne viendrais pas de mon javascript que j'ai posté plus haut?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      14 octobre 2008 à 22:33:59

                      Essaye de faire des tests avec des images plus simple :
                      [img]aze[/img] => ?
                      [img=test]alternatif[/img] => ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        14 octobre 2008 à 22:37:05

                        scuse moi je comprends pas bien quels sont les tests que tu me demandes
                        tu veux dire quoi quand tu parles d'image simple?
                        • Partager sur Facebook
                        • Partager sur Twitter
                          14 octobre 2008 à 22:44:43

                          Rentre ce que je t'ai dit et dis moi ce que ca donne :
                          [img]aze[/img] => ?
                          [img=test]alternatif[/img] => ?
                          • Partager sur Facebook
                          • Partager sur Twitter
                            14 octobre 2008 à 22:51:03

                            alors voici les resultats
                            quand je rentre
                            [img]aze[/img]
                            le post est vide

                            quand je rentre
                            [img=test]alternatif[/img]
                            j'obtiens [img=test]alternatif[/img]

                            edit

                            sinon j'ai fais le test en rentrant tel quel ce que tu m'as donné
                            [img]aze[/img] => ?
                            j'obtiens => ?

                            [img=test]alternatif[/img] => ?
                            j'obtiens [img=test]alternatif[/img] => ?
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              15 octobre 2008 à 13:19:05

                              Est ce que le reste marche ? souligné gras smiley.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                15 octobre 2008 à 15:07:52

                                oui tout le reste marche parfaitement

                                ce qui est vraiment hallucinant c'est que quand je passe par mon phpadmin, que je colle un lien de ce genresans mettre les balises, ca affiche bien les images

                                <a href="http://imageshack.us"><img src="http://img136.imageshack.us/img136/7058/images2gc2.jpg" border="0" alt="Image Hosted by ImageShack.us"/></a>
                                


                                est-ce que tu es passé toi aussi par le tuto dont j'ai parlé dans mon 1er post?
                                si c'est le cas je peux voir ton script pour que je puisse m'y referer, voir si j'ai pas oublié qq chose ?

                                merci
                                • Partager sur Facebook
                                • Partager sur Twitter
                                Anonyme
                                  15 octobre 2008 à 15:18:17

                                  Ok bah pour moi en faite j'ai un peut modifier le code que je t'ai donné.
                                  Donc voici le nouveau en local il ne marche pas mais en ligne c'est Ok.

                                  // image
                                     $regImage="\[image\] ?([^\[]*) ?\[/image\]";
                                     $regImageAlternatif="\[img ?= ?([^\[]*) ?\]";
                                     if (ereg($regImage, $contenu)) $contenu=ereg_replace($regImage, "<img src=\"\\1\" alt=\"\" border=\"0\" />", $contenu);
                                     else $contenu=ereg_replace($regImageAlternatif, "<img src=\"\1\" alt=\"\" border=\"0\" />", $contenu);
                                  


                                  <input type="button" class="boutons_bbcode" value="Image" onclick="javascript:bbcode('[image]', '[/image]'); return(false)"/>
                                  


                                  Puis ensuite sa fera [image]http://trucmachin.gif[/image] et la sa sera une image.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    15 octobre 2008 à 15:33:39

                                    j'ai retesté avec ton code mais j'ai toujours le meme resultat :(

                                    http://img136.imageshack.us/img136/7058/images2gc2.jpg" alt="" border="0" />
                                    


                                    à propos de ton code, on retrouve "$contenu", on est bien d'accord c'est pas le name de ton formulaire mais le contenu du message posté par un visiteur?
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Anonyme
                                      15 octobre 2008 à 16:20:11

                                      Moi mon code à été fait pour un formulaire de new avec un textarea.
                                      $contenu c'est le contenu de ma new.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        15 octobre 2008 à 18:31:07

                                        pareil ca rentre dans un textearea de mon coté

                                        est-ce que je oeux voir ton script, celui qui appelle les valeurs et qui permet de les renvoyer dans le textearea.

                                        ca me permettrait de le comparer avec le mien, je suis quasi sur que c'est la que ca bloque

                                        merci
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        Anonyme
                                          16 octobre 2008 à 18:51:01

                                          <?php
                                          	 require('bbcode.php');   
                                               echo bbcode($donnees['contenu']);
                                               ?>
                                          

                                          Sa je l'ai mis dans mon fichier ou je veut que soit afficher le bbcode donc par exemple pour moi index.php.

                                          La ou je veut faire ma new donc créer une new sur cette page.
                                          J'ai mis ceci

                                          Citation : Tulifer

                                          <script type="text/javascript" src="bbcode.js"></script>



                                          <form action="liste_news.php" method="post">
                                          <p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p>
                                          <p>
                                              Contenu :<br />
                                          	<script type="text/javascript" src="bbcode.js"></script>
                                          	<input type="button" class="boutons_bbcode" value="Gras" onclick="javascript:bbcode('[g]', '[/g]'); return(false)"/>
                                          	<input type="button" class="boutons_bbcode" value="Italique" onclick="javascript:bbcode('[i]', '[/i]'); return(false)"/>
                                          	<input type="button" class="boutons_bbcode" value="Souigné" onclick="javascript:bbcode('[s]', '[/s]'); return(false)"/>
                                          <input type="button" class="boutons_bbcode" value="Image" onclick="javascript:bbcode('[imaeg]', '[/image]'); return(false)"/>
                                          	
                                          	
                                              <textarea name="contenu" id="textarea" cols="50" 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>
                                          


                                          J'ai pas mis tout le le bbcode
                                          • Partager sur Facebook
                                          • Partager sur Twitter

                                          comment inserer une image dans un livre d'or

                                          × 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