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 :

nl2br ne fonctionne pas


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 89
    Points : 60
    Points
    60
    Par défaut nl2br ne fonctionne pas
    Bonjour,

    Je suis toujours en train de me prendre la tete avec les caractere français et saut de ligne

    je reçois la chaine suivante depuis ma bdd mysql (avant j'etais sous postgresql j'avais deja eu le probleme)

    Ma chaine arrive comme tel:
    "Votre inscription est réussi.\nVous allez recevoir un e-mail sous 48h, vous confirmant la validation de votre compte."

    si je lui fais un nl2br elle ne change pas
    avec str_replace pareil....Je m'arrache les cheveux

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    si je fais ce qui suit cela remplace bien les \n par des <br/> :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    echo nl2br("Votre inscription est r&eacute;ussi.\nVous allez recevoir un e-mail sous 48h, vous confirmant la validation de votre compte.");
    ?>

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 89
    Points : 60
    Points
    60
    Par défaut
    effectivement chez moi aussi

    J'ai recuperer la chaine dans un fichier texte avec la fonction
    error_log()

    je ne vois pas ou est le probleme

  4. #4
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Si ca marche aussi chez toi quel est le problème ?

    SI tu veux remplacer les caractères &(.*) par leur équivalent HTML tu peux t'orienter vers la fonction http://fr.php.net/html_entity_decode

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 89
    Points : 60
    Points
    60
    Par défaut
    ca marche avec la chaine en litterale
    mais pas avec ma variable qui contient l'importation depuis ma base

    et qui donne "Votre inscription est r&eacute;ussi.\nVous allez recevoir un e-mail sous 48h, vous confirmant la validation de votre compte."
    lorsque je l'enregistre dans un fichier texte avec la fonction error_log()

  6. #6
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chaine = nl2br($chaine);

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 89
    Points : 60
    Points
    60
    Par défaut
    oui

    ou echo nl2br(ma_chaine);

    ni l'un ni l'autre ne fonctionne

  8. #8
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $chaine = "Votre inscription est r&eacute;ussi.\nVous allez recevoir un e-mail sous 48h, vous confirmant la validation de votre compte.";
    $chaine = nl2br($chaine);
    echo $chaine;

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 89
    Points : 60
    Points
    60
    Par défaut
    je confirme

    $chaine = "Votre inscription est r&eacute;ussi.\nVous allez recevoir un e-mail sous 48h, vous confirmant la validation de votre compte.";
    $chaine = nl2br($chaine);
    echo $chaine;

    Ca marche

    A l'evidence ma chaine ne contiens pas exactement la meme chose mais comment savoir ce quel contient exactement ...

    je ne connais que la fonction error_log

  10. #10
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 895
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 895
    Points : 16 358
    Points
    16 358
    Par défaut
    Elle doit contenir justement exactement :
    Votre inscription est r&eacute;ussi.\nVous allez recevoir un e-mail sous 48h, vous confirmant la validation de votre compte.
    Donc que tu dois voir affiché \n dans ton fichier et non avoir un saut de ligne à la place.

    Du coup, tu dois être obligé d'utiliser la fonction eval() pour l'interpréter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $myString = 'Votre inscription est r&eacute;ussi.\nVous allez recevoir un e-mail sous 48h, vous confirmant la validation de votre compte.'
    eval('echo nl2br("'.$myString .'");');

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 89
    Points : 60
    Points
    60
    Par défaut
    Yessssss

    Un grand merci
    Avec eval ca marche

    Mais je n'ai rien compris...

    encore merci

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 89
    Points : 60
    Points
    60
    Par défaut
    J'aimerais beaucoup comprendre pourquoi nl2br ne fonctionne pas...
    Car cela pourrais m'etre utile plus tard..

    Merci encore

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

Discussions similaires

  1. [MySQL] nl2br ne fonctionne pas
    Par Kzou7 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 30/01/2012, 20h10
  2. Réponses: 6
    Dernier message: 27/01/2004, 11h14
  3. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 10h04
  4. Un Hint sur un PopupMenu ne fonctionne pas !!??
    Par momox dans le forum C++Builder
    Réponses: 6
    Dernier message: 26/05/2003, 16h48
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10

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