IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

chaine issue d'un textarea, nl2br remplace les sauts de ligne, mais pas complètement.


Sujet :

PHP & Base de données

  1. #1
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut chaine issue d'un textarea, nl2br remplace les sauts de ligne, mais pas complètement.
    Bonjour à tous,

    je développe un système d'agenda en php sql server

    J'enregistre des rdv avec notamment un textarea pour le détails du rdv. Au moment d'enregistrer je fais un nl2br($POST['mon_textarea']) ce qui me donne en BD une chaine comme suit : "un<br />deux<br />trois"

    Mais il y a visiblement autre chose en plus que le nl2br ne parvient pas à détecter parce que quand je fais en php un echo de mon champs issu de la BD, il me met un saut de ligne après chaque <br/>

    Quand je fais afficher le code source, j'ai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    un<br />
    deux<br />
    trois
    D'ailleurs quand j'ai copié/collé ici la chaîne (dans le textarea du forum) ça m'a aussi mis des sauts de lignes...

    J'aimerais que ma chaîne reste sur une seule et même ligne quand je fais un echo, car elle sert ensuite d'argument à une fonction javascript d'infobulle...

    J'imagine que je devrai m'occuper de certains caractères spéciaux pour qu'elle soit bien acceptée par la fonction Js, mais je dois déjà régler cette histoire de saut de ligne "invisible"...

    Merci à quiconque m'apportera un peu d'aide.
    'Diviser chacune des difficultés en autant de parcelles qu’il se pourrait et qu’il serait requis pour les mieux résoudre', René Descartes

    => Maya GPAO

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Le nl2br ne doit se faire qu'à l'affichage.
    PAS avant enregistrement en bdd.

  3. #3
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    Documentation : http://php.net/manual/fr/function.nl2br.php
    Retourne string après avoir inséré <br /> ou <br> devant toutes les nouvelles lignes (\r\n, \n\r, \n et \r).
    Donc il ne fait que rajouter des <br> à chaque saut de ligne, mais il ne les remplace pas.
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pour compléter les deux réponses au-dessus, pour remplacer un saut de ligne par un <br> html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Result = str_replace( array("\r\n", "\n", "\r"), '<br />', $Text );
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Un regex qui fonctionne sur les testeurs en ligne, mais pas dans mon code
    Par billybobbonnet dans le forum Développement Windows
    Réponses: 4
    Dernier message: 28/01/2015, 17h20
  2. remplacer les retour de ligne par <br> dans une chaine?
    Par cortex024 dans le forum Langage
    Réponses: 2
    Dernier message: 03/12/2006, 17h22
  3. Remplacer les sauts de ligne
    Par Nicobp dans le forum Langage
    Réponses: 6
    Dernier message: 02/10/2006, 03h30
  4. Réponses: 16
    Dernier message: 22/03/2006, 11h11
  5. Réponses: 8
    Dernier message: 17/11/2005, 12h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo