Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment bien utiliser nl2br ?

Question "bête" mais problème énervant -_-'

Sujet résolu
    28 novembre 2005 à 18:17:23

    Bonjour,
    Je souhaiterai savoir la bonne utilisation d'un nl2br.
    J'ai fais plusieurs tests, j'ai trouver une utilisation qui marchait mais elle marche pas tout le temps.
    Pour éviter les moqueries je ne vous la dévoile pas ^^
    Voilà ce que je veux faire (Simplifier à 90% :lol: ) :

    Envoie.php

    //Formulaire en XHTML avec un <input type="text" name="message" value="Votre message" />

    if (isset($_POST['submit']))
    {
    $message = addslashes(htmlspecialchars($_POST['message']));

    mysql_query("INSERT INTO table VALUES('', '".$message."')");
    }


    Lire.php

    //On lit le message dans une autre page avec un fetch_array simple

    $sql = mysql_query("SELECT message FROM table")
    while ($donnees = mysql_fetch_array($sql))
    {
    $message = $donnees['message'];

    echo 'Message : '.$message.'<br />';
    }

    //On lit le message dans une autre page avec un fetch_array dans un textarea

    $sql = mysql_query("SELECT message FROM table")
    while ($donnees = mysql_fetch_array($sql))
    {
    $message = $donnees['message'];

    echo '<textarea name="message">Message : '.$message.'</textarea><br />';
    }


    Voilà, je voudrais que chaque entrée de '$message' soit remplacer par un <br /> mais je ne veux pas voir de <br /> quand je regarde le message par un simple fetch_array et dans un fetch_array afficher dans un textarea.

    Surement simple mais bon j'en ai marre que ça marche pas chez moi :colere:

    Si vous pouviez changer mon code en plaçant le n2br pour que ça marche ça m'aiderait, merci :D
    • Partager sur Facebook
    • Partager sur Twitter
      28 novembre 2005 à 18:21:19

      Pour un mieux, il faut faire le nl2br() à l'affichage :

      $message = nl2br(htmlspecialchars($donnees['message'], ENT_QUOTES));


      ++
      aimak
      • Partager sur Facebook
      • Partager sur Twitter
        28 novembre 2005 à 18:22:54

        Franchement ton problème parait simple, si au moins on pouvait le comprendre :p
        • Partager sur Facebook
        • Partager sur Twitter
          28 novembre 2005 à 18:30:09

          Merci oui ça marche impeccablement bien sauf pour le textarea, lui il m'affiche quand même "<br />"
          Quelqu'un n'a pas une idée pour arranger ça?
          j'ai utiliser un str_replace() mais je sais pas si c'est le meilleure solution.

          maximaam : je veux bien utiliser la fonction nl2br() :D
          • Partager sur Facebook
          • Partager sur Twitter
            28 novembre 2005 à 18:32:45

            Mais donne ton code en pas 90% simplifié :><:
            Et il ne faut faire qu'une foi le nl2br() : à l'affichage seulement !
            ++
            aimak
            • Partager sur Facebook
            • Partager sur Twitter
              28 novembre 2005 à 18:36:55

              On ne fait pas un nl2br() sur un texte que l'on renvoie dans un textarea
              • Partager sur Facebook
              • Partager sur Twitter
                28 novembre 2005 à 18:37:57

                Dans ton textarea, il faut remplacer tous les <br /> créés par nl2br() par du vide, donc un str_replace est idéal :

                <?php
                echo '<textarea name="message">Message : '.str_replace('<br />', '', $message).'</textarea><br />';
                ?>


                Et il faut bien sûr que tu laisses le nl2br() à l'insertion du message dans la BDD ^^

                Edit : Awi, str_replace, pas substr :'(
                • Partager sur Facebook
                • Partager sur Twitter
                  28 novembre 2005 à 18:45:11

                  Citation : Pakie


                  Et il faut bien sûr que tu laisses le nl2br() à l'insertion du message dans la BDD ^^


                  On ne fait pas de nl2br à l'insertion ! :-°

                  str_replace('substr','str_replace',$code_Pakie);
                  • Partager sur Facebook
                  • Partager sur Twitter
                    28 novembre 2005 à 18:50:36

                    Citation : Bison

                    On ne fait pas de nl2br à l'insertion ! :-°



                    Peurkwa ? :'(
                    Je fais toujours toutes les modifications avant d'insérer, autant nl2br() que les smileys ou autres :'(
                    • Partager sur Facebook
                    • Partager sur Twitter
                      28 novembre 2005 à 18:53:33

                      Parce que si tu modifies quelque chose dans ta bdd, ca s'affichera mal ;)

                      ++
                      aimak
                      • Partager sur Facebook
                      • Partager sur Twitter
                        28 novembre 2005 à 19:42:08

                        D'accord merci beaucoup.

                        pour le textarea ben en faite c'est pour les signatures, si le membre veux modifier sa signature faut bien le mettre dans un textarea et je crois pas qu'il aime les <br /> :lol:
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Comment bien utiliser nl2br ?

                        × 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