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 :

Saut de ligne dans une zone de texte


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 909
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 909
    Points : 420
    Points
    420
    Par défaut Saut de ligne dans une zone de texte
    Bonjour à tous,

    je ne parviens pas à effectuer des sauts de ligne dans le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    				echo '<textarea name="message" rows="8" cols="90">De : '.$prenom_rep.' '.$nom_rep.'\n Sujet : '.$sujet_rep.'</br> A : '.$prenom.' '.$nom.'</br> Date : '.$timestamp_rep.'</textarea>';
    Comme vous pouvez le voir, j'ai essayé /n, <br>, </br> mais ya pas moyen de sauter de ligne .

    Merci pour votre aide.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 359
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 359
    Points : 15 705
    Points
    15 705
    Par défaut
    pour faire un saut de ligne il faut utiliser des guillemets :

  3. #3
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 909
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 909
    Points : 420
    Points
    420
    Par défaut
    je l'ai fait aussi, mais ça marche toujours pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    					echo '<textarea name="message" rows="8" cols="90">De : '.$prenom_rep.' '.$nom_rep.'"\n" Sujet : '.$sujet_rep.'</br> A : '.$prenom.' '.$nom.'</br> Date : '.$timestamp_rep.'</textarea>';

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 359
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 359
    Points : 15 705
    Points
    15 705
    Par défaut
    tu as encore des apostrophes, il faut mettre les guillemets comme ça par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nom_rep . "\n" . 'Sujet : '

  5. #5
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Php intègre une constante (PHP_EOL) pour faire un saut de ligne, ou fin de ligne, ou encore carriage return).
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    // Exemple simple :
    echo 'Un saut de ligne'.PHP_EOL.' ici ...';
     
    // Code complet :
    echo '<textarea name="message" rows="8" cols="90">De : '.$prenom_rep.' '.$nom_rep.PHP_EOL.'Sujet : '.$sujet_rep.PHP_EOL.'A : '.$prenom.' '.$nom.PHP_EOL.'Date : '.$timestamp_rep.'</textarea>';
    ?>
    J'ai rarement vu l'usage de cette constante dans des forums (ici ou ailleurs).
    Pourtant elle me semble plus simple à utiliser, et augmente la portabilité.

    - Plus besoin de se poser de question comment le coder et échapper (\r ou \n ou \r\n ???).
    - L'instruction de fin de ligne est différents selon les systèmes (Windows, Linux, Mac, etc ...).

  6. #6
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 467
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 467
    Points : 4 658
    Points
    4 658
    Par défaut
    sympas cette constante RunCodePhp

    je la mets bien de cote =)

    cependant, j'ai teste... ca ne fonctionne pas dans un echo tout bete, mais ca fonctionne bien dans le echo d'un textarea....

    echo 'une ligne'.PHP_EOL.'une autre ligne';
    => m'affiche tout sur la meme ligne

    echo '<textarea>ligne 1'.PHP_EOL.'ligne 2</textarea>';
    => ok

  7. #7
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 909
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 909
    Points : 420
    Points
    420
    Par défaut
    Ca me va parfaitement !
    Dans mon cas ça marche nickel

    Merci.

  8. #8
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 909
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 909
    Points : 420
    Points
    420
    Par défaut
    Heu j'ai peut-être parlé un peu trop tôt...

    En effet ça fonctionne dans le textarea. Quand je l'insert dans la base données, le formattage est bien conservé. Mais quand je veux afficher le message après un select dans ma base de données,

    je perds tout le formatage à l'affichage... je n'ai plus du tout de saut de ligne...

  9. #9
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 909
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 909
    Points : 420
    Points
    420
    Par défaut
    J'ai l'impression de faire un monologue là

    j'ai trouvé la commande magique : nl2br

    Merci encore.

  10. #10
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Citation Envoyé par Doksuri
    echo 'une ligne'.PHP_EOL.'une autre ligne';
    => m'affiche tout sur la meme ligne

    echo '<textarea>ligne 1'.PHP_EOL.'ligne 2</textarea>';
    => ok
    C'est normal, c'est juste une instruction pour marquer une fin de ligne.
    Ca ne remplace pas un <br />, ce n'est pas du HTML.

    Donc pour le HTML, ce sera toujours le <br /> qu'il faut utiliser.
    Par contre pour le 1er cas, si tu regarde le code source de la page, "une autre ligne" se trouve en dessous de "une ligne". Il y a eu passage à la ligne.


    @sam01
    C'est normal, car un <textarea></textarea> est un peu l'exception à la règle, car le navigateur n'interprétera le contenu de cette balise comme du HTML, mais du texte.

    j'ai trouvé la commande magique : nl2br
    Ca dépend où tu l'utilise.
    Si c'est dans le contenu d'un textarea par exemple, ça ne fonctionnera, il s'affichera des <br />.

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

Discussions similaires

  1. [RegEx] Remplacer les <br/> par des sauts à la ligne dans des zones de texte
    Par doncandid dans le forum Langage
    Réponses: 5
    Dernier message: 17/03/2010, 17h59
  2. Affichage des sauts de lignes dans une zone de texte
    Par Whombat dans le forum Langage
    Réponses: 3
    Dernier message: 25/01/2009, 02h47
  3. Retour à la ligne dans une zone de texte
    Par schtipoun dans le forum IHM
    Réponses: 0
    Dernier message: 24/04/2008, 10h37
  4. Saut de ligne dans une zone de texte
    Par lito74 dans le forum Access
    Réponses: 2
    Dernier message: 22/09/2006, 16h35
  5. Retour à la ligne dans une zone de text
    Par hnb2003 dans le forum Access
    Réponses: 2
    Dernier message: 13/04/2006, 11h56

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