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 :

[PHP-JS] Traitement des sauts de lignes


Sujet :

Langage PHP

  1. #1
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2007
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2007
    Messages : 290
    Points : 209
    Points
    209
    Par défaut [PHP-JS] Traitement des sauts de lignes
    Bonsoir !

    je rencontre un petit soucis.

    J'appel une fonction javascript qui se présente ainsi (C'est pour un info bulle).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onmouseover="montre('Text text<br />text text text <br/>text')"
    Quand j'écris ce code avec les saut de ligne directement dans la source, la fonction s'applique normalement, mais quand elle est dans une variable (BDD) le code s'écrit ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    onmouseover="montre('Text text<br />
    text text text <br/>
    text')"
    Ca saute des ligne dans la source et du coup la fonction n'est plus valide.

    Existe il une syntaxe qui permet de régler ce soucis ?

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comment la donnée est-elle stockée et lue dans la base ?

  3. #3
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2007
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2007
    Messages : 290
    Points : 209
    Points
    209
    Par défaut
    La variable est traité ainsi avant d'etre envoyé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $note = mysql_real_escape_string(htmlspecialchars(nl2br($_POST['note'])));
    Puis est lu par un simple echo oO

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    L'enchainement logique c'est d'abord de convertir les entités HTML en suite de créer les <br /> sinon ils sont détruits.

    Mais il serait encore plus logique de preparer l'affichage html en lecture de la base et non en stockage.

  5. #5
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2007
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2007
    Messages : 290
    Points : 209
    Points
    209
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Mais il serait encore plus logique de preparer l'affichage html en lecture de la base et non en stockage.
    Je ne comprend pas. Si je lis la base c'est que les donnée y on été stocké. Je ne comprend pas ce que tu veux dire ^^'

  6. #6
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2007
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2007
    Messages : 290
    Points : 209
    Points
    209
    Par défaut
    Je n'y arrive vraiment pas ...

    J'ai beau mettre nl2br() a l'affichage, et rien du tout au stockage, puis dans j'essaye tous les sens.. le résultat est le meme. Ca me marque bien les saut de ligne dans la source et ca saute des ligne également dans la source..

  7. #7
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2007
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2007
    Messages : 290
    Points : 209
    Points
    209
    Par défaut
    J'ai trouvé une solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $note = mysql_real_escape_string(str_replace("\r\n","<br />",$_POST['note']))
    L'affichage se fait ensuite correctement.

    Pour le textarea,a l'affichage, il faut, par contre, faire l'inverse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_replace('<br />',"\r\n",$note)
    Merci !

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

Discussions similaires

  1. [MySQL] Suppression des sauts de ligne, de &bull; dans un texte en php
    Par missmiss89 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/07/2011, 14h40
  2. [php] Affichage des sauts de ligne </br>
    Par Flushovsky dans le forum Langage
    Réponses: 3
    Dernier message: 21/12/2005, 15h51
  3. [MySQL] Formulaire php + bdd = perte des sauts de ligne html ?
    Par sunshine33 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 03/10/2005, 11h19
  4. insérer des sauts de lignes en fonction du navigateur
    Par remi59 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/08/2005, 19h15
  5. remplacer des sauts de ligne par '\n'
    Par Miksimus dans le forum Général Python
    Réponses: 5
    Dernier message: 18/07/2005, 10h01

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