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 :

[Tableaux] JSON et nl2br


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 169
    Points : 149
    Points
    149
    Par défaut [Tableaux] JSON et nl2br
    Bonjour a tous,
    j'utilise la fonction json_encode pour convertir mes tableaux en chaines de caractère. Je voudrais convertir tous les \n des chaines contenues dans ce tableau soient remplacées par des <br/> avec la fonction nl2br.
    Hélas, impossible de les faire remplacer, les \n restent inchangés.
    Cela est sans doute du au fait que la chaine json est de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ["blablabla\n\nblablabla";"blob\n"]
    J'ai essaye d'echapper les guillemet, voir de les supprimer, mais rien a faire, on ne peut pas remplacer les \n par des <br/>.
    Le probleme vient peut etre du mysql_real_encode que j'utilise avant de sauvegarder en base, mais je n'ai rien trouve de ce cote non plus.

    Merci d'avance de votre aide.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    nl2br ne remplace pas les (\r)\n : elle ajoute <br /> (avant) lorsqu'elle rencontre ces caractères.

    Si vous voulez échapper ces caractères il faudra le faire explicitement car ce ne sont pas à proprement parler des caractères spéciaux - ils restent tels quels - (avec str_replace ou addcslashes).

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 169
    Points : 149
    Points
    149
    Par défaut
    Bonsoir,
    oui c'est effectivement ce que je souhaite, mais les <br/> ne sont pas ajoutés, d'où mon interrogation. Si quelqu'un sait comment le contourner ?

    Exemple, ca sera peut etre plus clair :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo nl2br(json_encode(array("toto\n", "titi\ntata")));
    Cela affiche : ["toto\n","titi\ntata"] (aucun <br/>)
    Si on met le nl2br directement sur les chaines avant le json_encode, cela fonctionne, mais je ne peux pas le faire à cet endroit dans mon code.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    C'est la fonction json_encode en fait qui restitue la valeur littérale \n (en deux caractères) aux sauts de ligne - ce qui est normal. On les voit très bien apparaître en tant que tel via un var_dump par exemple.

  5. #5
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 169
    Points : 149
    Points
    149
    Par défaut
    Ok, merci pour l'explication
    C'était effectivement ça le problème, le découpage en 2 caractères.

    J'ai pu arriver au bon résultat en corrigeant comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo str_replace("\\n", "<br/>", json_encode(array("toto\n", "titi\ntata")));

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

Discussions similaires

  1. json composé de tableaux
    Par kakame dans le forum AngularJS
    Réponses: 2
    Dernier message: 12/03/2015, 22h56
  2. [JSON] Librairies et tableaux
    Par Bremen dans le forum Langage
    Réponses: 2
    Dernier message: 02/01/2014, 18h21
  3. Parser deux tableaux JSON imbriqués
    Par Arwa89 dans le forum Android
    Réponses: 2
    Dernier message: 21/04/2013, 00h37
  4. Accès aux données avec Json (liste de tableaux)
    Par Le Mad dans le forum jQuery
    Réponses: 2
    Dernier message: 11/07/2011, 08h45
  5. Réponses: 5
    Dernier message: 14/09/2008, 23h14

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