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

Langage PHP Discussion :

Doublement des \n après str_replace() des <br> dans un textarea [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut Doublement des \n après str_replace() des <br> dans un textarea
    Bonjour,

    J'affiche un message dans un textarea, pour le modifier.
    Dans le message il y a des <br>.
    Comme je veux que le message dans le textarea s'affiche de la même manière que dans la page, je remplace les <br> par des \n.

    Manque de pot, j'ai deux fois trop de \n au final : là où il y avait un retour à la ligne, donc un <br>, je me retrouve dans le textarea avec un saut de ligne, donc deux \n.

    le code est simple... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $contenu=str_replace("<br>", "\n", "$contenu");

    Question simple : il faudrait bien sur n'avoir qu'un \n au lieu de deux.
    Merci

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    A ma connaissance \n correspond qu'à un saut de ligne pas deux

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut
    Bah oui chez moi aussi
    ça c'est ce que j'ai avant, dans le code source de la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    test pour le lien<br>
    lien
    Cela s'affiche dans la page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    test pour le lien
    lien
    ça c'est ce que ça m'affiche dans le textarea :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    test pour le lien
     
    lien
    On voit bien qu'il y a un espace de plus.
    Et ensuite à la validation, il ressort donc deux <br>

    **edit**
    Un autre exemple :
    le texte dans la page est comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    bonjour
    je saute une ligne
    J'enlève le str_replace
    et il s'affiche dans le textarea:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    bonjour<br>
    je saute une ligne
    ==> on constate qu'en plus du bonjour, le saut de ligne est conservé. Donc si j'ajoute le str_replace, ça me conserve le /n et en plus ça me transforme le <br> en nouveau \n.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Essaye ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $contenu=eregi_replace("<br>+\n*", "\n", "$contenu");

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut
    Non ça ne fonctionne pas non plus.
    J'ai essayé d'enlever le *, ne comprenant pas trop à quoi il sert, mais ç'est pareil.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Ca marche très bien chez moi
    Avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    TEST<BR>
    TOTO<BR>TEST2
    Erreur
    Après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TEST
    TOTO
    TEST2
    Erreur
    Petite explication sur les regex utilisés :
    + : au moins une fois
    * : aucun ou plusieurs

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par psychoBob
    Non ça ne fonctionne pas non plus.
    J'ai essayé d'enlever le *, ne comprenant pas trop à quoi il sert, mais ç'est pareil.
    Tu as bien remplacé str_replace par eregi_replace ?

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 11/05/2014, 15h19
  2. Réponses: 1
    Dernier message: 28/06/2012, 16h04
  3. Ecrasement des valeurs après le transfert de la variable dans une autre classe.
    Par patriot dans le forum Développement Mobile en Java
    Réponses: 0
    Dernier message: 13/05/2011, 11h39
  4. Commande pour afficher des chiffres apres la virgule
    Par manar dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 23/09/2004, 18h28
  5. [] Datagrid vide après modification des propriétés
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/09/2002, 16h37

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