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 :

Heredoc : pas de saut de ligne ?


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2004
    Messages : 93
    Points : 80
    Points
    80
    Par défaut Heredoc : pas de saut de ligne ?
    Bonjour,

    Ma question concerne la syntaxe de heredoc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    echo <<<HERE
    Bonjour
    et
    bienvenue!
     
    HERE;
    Voilà, c'est tout simple et basique : pas d'erreur d'éxécution mais la sortie est : au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Bonjour
    et
    bienvenue!
    Merci pour votre aide si vous y comprenez quelque chose...

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Ta sortie est interprétée comme étant du html. Dans ce contexte, tous les caractères blancs (espaces, tabulations, retours à la ligne...) sont représentés par un simple espace par défaut.

    Si tu veux avoir des retours à la ligne, il faut soit utiliser des balises html (<br>, <p> par exemple), soit entourer ton texte de la balise <pre>, qui permet de conserver le formattage (espaces multiples, tabulations, retours à la ligne) avec utilisation d'une police à chasse fixe.

    Pour ton exemple, ça donnerait :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <pre>
    <?php
    echo <<<HERE
    Bonjour
    et
    bienvenue!
     
    HERE;
    ?>
    </pre>

  3. #3
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Si tu regardes le code source HTML, tu verras que les sauts de ligne sont bien là. Pour les afficher, tu peux utiliser la solution d'Eusebe ou (et c'est sans doute ce que tu recherchais) la fonction nl2br()

  4. #4
    Membre régulier
    Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2004
    Messages : 93
    Points : 80
    Points
    80
    Par défaut
    Merci pour vos deux réponses qui m'ont bien aidé !

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

Discussions similaires

  1. Pas de saut de ligne tag <?php ?> sur .phtml
    Par Pyksel dans le forum Zend Studio
    Réponses: 0
    Dernier message: 17/06/2010, 16h33
  2. Réponses: 1
    Dernier message: 20/10/2008, 00h04
  3. [Mail] Les sauts de lignes pas pris en compte
    Par Anduriel dans le forum Langage
    Réponses: 15
    Dernier message: 14/12/2005, 19h13
  4. Réponses: 8
    Dernier message: 17/11/2005, 12h24

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