Partage
  • Partager sur Facebook
  • Partager sur Twitter

position d'une image par rapport au texte dans une news

    3 juin 2006 à 10:24:58

    Bonjour a tous,
    j'ai hésiter a mettre ce sujet chez HTML/CSS mais je le met ici car il s'agit de mes pages de news qui sont codés en PHP . :)

    Mon probleme est que je ne sais pas comment faire pour :

    Positionner mon image à gauche où à droite dans ma news et que le texte soit écrit sur le coté de l'image (et pas en dessous).

    Sur les pages normales, je me sert du CSS mais la sur les news (où les images ne sont jamais les memes) je ne peut pas mettre de class et faire remonter le texte de X valeur par rapport à l'image ...
    si quelqu'un comprend..merci de me répondre !! ^^
    je vais essayer de trouver un exemple..
    Benoit
    • Partager sur Facebook
    • Partager sur Twitter
      3 juin 2006 à 10:28:11

      Si tu peux mettre des images, tu peux faire une regex pour float:right ou left ;)
      • Partager sur Facebook
      • Partager sur Twitter
        3 juin 2006 à 10:36:51

        En fait je ne connais pas encore asser bien les regex, jusque maintenant je rentrait l'adresse absolu de l'image quand je tappait ma news , donc elle se mettait au milieu de la page et le texte se mettait en dessous.
        • Partager sur Facebook
        • Partager sur Twitter
          3 juin 2006 à 11:27:14

          Essaie
          <?php
          // $string = texte à remplacer
          $string = '<p>blabla jolie image[flotter:left]<img src="http://poke-world.fr/images/avatar_dentuk.php" alt="" />[/flotter]je sais pas vous mais moi je trouve ça beau blabla...</p>';

          $string = preg_replace('`\[flotter:(left|right)\](.+?)\[/flotter\]`s', '<span style="float:$1;">$2</span>', $string);
          ?>
          • Partager sur Facebook
          • Partager sur Twitter
            3 juin 2006 à 11:52:20

            ok merci je v essayer sa !
            • Partager sur Facebook
            • Partager sur Twitter
              3 juin 2006 à 11:57:56

              Pourquoi utiliser les regex ? Il suffit de mettre dans ta news <div style="float:right;"><img src="image.png" alt="" /></div>.
              Si j'ai bien compris tu n'as pas de bbcode, donc autant faire ça comme ça ;)
              • Partager sur Facebook
              • Partager sur Twitter
                3 juin 2006 à 12:28:38

                Citation

                Si j'ai bien compris tu n'as pas de bbcode, donc autant faire ça comme ça ;)


                Citation : Row2.BG

                jusque maintenant


                Si j'ai bien compris il compte y passer aux regex ;)
                • Partager sur Facebook
                • Partager sur Twitter
                  3 juin 2006 à 12:32:09

                  oui mais avec la sécurisation du htmlentities, tu ne peux pas utiliser de balise html ;)

                  A moins qu'il n'a pas le htmlentities, ce qui est très risqué...
                  • Partager sur Facebook
                  • Partager sur Twitter

                  http://www.encheres-cents.com - http://www.checkmycomposer.com

                    3 juin 2006 à 12:37:21

                    Très risqué sauf s'il est sur d'être le seul à pouvoir poster des news et qu'il ne compte pas s'auto-hacker.

                    Maintenant c'est sur que vaut mieux des bonnes regex et un bon htmlentities.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      3 juin 2006 à 12:39:44

                      Oui, mais imaginons qu'un hacker lui hack son petit site, et hop après il fait chuter le serveur avec une petite commande dans le textarea ^^ .

                      Peut-être qu'il n'est pas le seul à l'utiliser, c'est a lui de nous le dire ! :D


                      @+
                      • Partager sur Facebook
                      • Partager sur Twitter

                      http://www.encheres-cents.com - http://www.checkmycomposer.com

                        3 juin 2006 à 13:16:48

                        alors oui ma news ne peut etre ecrite qu'a partir du coin "admin" qui est sécurisé par un htaccess !
                        et oui je compte passer aux regex car sa simplifie vraiment l'ecriture de news !
                        j'ai juste une petite question sur ces dernieres : où est-ce que je dois placer le parser ??? car la je l'ai mis sur la page ou j'ecris les news juste apres la balise <div id="corps"> dans <body> (dans le corps de ma page;)

                        car apres quand je regarde ma page ou s'affichent mes news, les regex ne marchent po , ils affichent :
                        [warning]cette information est en jaune[/warning]
                        [i][color=purple]celle ci en violet italique[/color][/i]
                        [1][/1]

                        voila mon parser, tiré du cour de mateo21 :

                        <!--le parser (regex)-->        <?php
                                                if (isset($_POST['texte']))
                                                {
                                                        $texte = stripslashes($_POST['texte']); // On enlève les slash qui se seraient ajoutés automatiquement
                                                        $texte = htmlentities($texte); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
                                                        $texte = nl2br($texte); // On crée des  pour conserver les retours à la ligne
                                                  
                                                        // On fait passer notre texte à la moulinette des Regex
                                                        $texte = preg_replace('!\[b\](.+)\[/b\]!isU', '<strong>$1</strong>', $texte);
                                                        $texte = preg_replace('!\[i\](.+)\[/i\]!isU', '<em>$1</em>', $texte);
                                                        $texte = preg_replace('!\[s\](.+)\[/s\]!isU', '<ins>$1</ins>', $texte);
                                                        $texte = preg_replace('!\[warning\](.+)\[/warning\]!isU', '<span><img src=".../images/boutons/bbcode/attention.png" alt="warning"/><p style="color:yellow">$1</p></span>', $texte)
                                                        $texte = preg_replace('!\[info\](.+)\[/info\]!isU', '<span><img src=".../images/boutons/bbcode/info.png" alt="info"/><p style="color:green">$1</p></span>', $texte);       
                                                        $texte = preg_replace('!\[erreur\](.+)\[/erreur\]!isU', '<span><img src=".../images/boutons/bbcode/erreur.png" alt="erreur"/><p style="color:red">$1</p></span>', $texte)
                                                        $texte = preg_replace('!\[question\](.+)\[/question\]!isU', '<span><img src=".../images/boutons/bbcode/question.png" alt="question"/><p style="color:blue">$1</p></span>', $texte);     
                                                        $texte = preg_replace('!\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color\]!isU', '<span style="color:$1">$2</span>', $texte);
                                                        $texte = preg_replace('!http://[a-z0-9._/-]+!i', '<a href="$0">$0</a>', $texte);
                                                        $texte = preg_replace('!\[1\](.+)\[/1\]!isU', '<img src="http://siteduzero.com/Templates/images/smilies/smile.png" title="" alt=""/> ', $texte);
                                                        $texte = preg_replace('!\[2\](.+)\[/2\]!isU', '<img src="http://siteduzero.com/Templates/images/smilies/siffle.png" title="" alt=""/> ', $texte);
                                                        $texte = preg_replace('!\[3\](.+)\[/3\]!isU', '<img src="http://www.siteduzero.com/Templates/images/smilies/blink.gif" title="" alt=""/> ', $texte);
                                                        $texte = preg_replace('!\[4\](.+)\[/4\]!isU', '<img src="http://www.siteduzero.com/Templates/images/smilies/clin.png" title="" alt=""/> ', $texte);
                                                        $texte = preg_replace('!\[5\](.+)\[/5\]!isU', '<img src="http://www.siteduzero.com/Templates/images/smilies/huh.png" title="" alt=""/> ', $texte);
                                                        $texte = preg_replace('!\[6\](.+)\[/6\]!isU', '<img src="http://www.siteduzero.com/Templates/images/smilies/mechant.png" title="" alt=""/> ', $texte);
                                                        $string = preg_replace('`\[flotter:(left|right)\](.+?)\[/flotter\]`s', '<span style="float:$1;">$2</span>', $string);
                                               
                                                        // Et on affiche le résultat. Admirez ! :D
                                                        echo $texte . '<br /><hr/>';
                                                }
                                                ?>     
                        • Partager sur Facebook
                        • Partager sur Twitter
                          4 juin 2006 à 19:41:33

                          Citation : Row2.BG

                          $texte = preg_replace('!\[1\](.+)\[/1\]!isU', '<img src="http://siteduzero.com/Templates/images/smilies/smile.png" title="" alt=""/> ', $texte);


                          Faudra vraiment que tu m'expliques cette horreur... Ca sert à quoi ?
                          Si c'est pour mettre un smiley, il y a une fonction magique qui s'appelle str_replace()...

                          Autre chose : n'utilise pas les ! comme délimiteurs, utilise plutôt ` (Alt Gr + 7).
                          Et ne fait pas tous ces preg_replace(), met les pattern dans un array, et les remplacements dans un autre (regarde l'exemple 1 ici).
                          • Partager sur Facebook
                          • Partager sur Twitter
                            5 juin 2006 à 11:53:06

                            je suis désolé mais je ne comprend rien .. lol
                            j'ai lus partiellement sans me pencher completement dessus le cours de mateo21 sur les expressions régulieres mais je ne voit pas de quoi tu parles?
                            les regex du parser de mateo ont toute des preg_replace ();
                            • Partager sur Facebook
                            • Partager sur Twitter
                              5 juin 2006 à 14:12:06

                              $texte = preg_replace('!\[1\](.+)\[/1\]!isU', '<img src="http://siteduzero.com/Templates/images/smilies/smile.png" title="" alt=""/> ', $texte);


                              Cette regex à quoi sert-elle ? Elle sert à afficher un smiley nan ? Eh bien il y a beaucoup plus simple :

                              $texte = str_replace(':)','http://siteduzero.com/Templates/images/smilies/smile.png" title="" alt=""/>',$texte);


                              Avec ça à chaque fois que tu mettras ":)" dans une news par exemple, tu auras un smiley à la place, un peu comme ici donc.

                              Ensuite tu utilises ! comme délimiteur pour les regex (!^[a-z]+$!i), utilise plutôt ` (`^[a-z]+$`i).

                              Une dernière chose : tu utilises plein de regex à la suite (pas bon pour le serveur). En utilisant des array c'est plus rapide :

                              $pattern = array('`<gras>(.+)</gras>`iUs','`<italique>(.+)</italique>`iUs');
                              $replace = array('<strong>$1</strong>','<em>$1</em>');
                              $texte = preg_replace($pattern,$replace,$texte);
                              • Partager sur Facebook
                              • Partager sur Twitter
                                5 juin 2006 à 16:30:17

                                ok je commence a piger .. et pour le parser, ou est ce que je doit le mettre ?? car tous est mis comme dans le tuto de mateo mais une fois ke je valide les regex ne change pas mon texte ...

                                voila la aprtie ou je rentre le texte, est ce qu'il n'y a pas quelque chose a chager pour faire correspondre le parser avec la zone de texte ??? je ne devrait pas changer les $texte par $contenu ???


                                <textarea name="contenu" cols="100" rows="10" style="margin-left: 10px;">                                   
                                <?php
                                echo $contenu;
                                ?>
                                </textarea><br />
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  6 juin 2006 à 11:26:52

                                  J'ai également ce soucis de position d'image dans la news.
                                  J'ai essayé différente méthode mais ca ne là place pas bien ( soit en dehors du cadre prévus soit elle déborde sur une autre news ) mais elle arrive a se placer sur la gaucha ou droite et même centré :p

                                  Donc voilà si vous avez des astuces je suis preneur :D

                                  Merci d'avance ;)
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  position d'une image par rapport au texte dans une news

                                  × 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