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 :

Sprintf / utilisation des espaces pour remplir une ligne [RegEx]


Sujet :

Langage PHP

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

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

    Informations forums :
    Inscription : Août 2011
    Messages : 12
    Points : 6
    Points
    6
    Par défaut Sprintf / utilisation des espaces pour remplir une ligne
    Bonjour,

    Ma question peut sembler trop simple mais après de longs moments sur la docu PHP je ne trouve pas la solution.

    J'aimerais obtenir la même chose que ce qui est présenté par mon code ci-dessous mais avec un espace à la place du caractère de remplissage "_". J'ai tout essayé en suivant le manuel PHP et je n'arrive pas à avoir une première colonne d'exactement 20 caractères... En fait, le code ne me permet pas d'afficher les espaces alors que c'est censé être la valeur par défaut.
    Pouvez-vous m'aider ? Merci bien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $liste = array("Jean"=>"Durand", "Paul"=>"Dupont", "Jean"=>"Martin", "Luc"=>"Michel");
    foreach ($liste as $key => $value)
    {
    echo sprintf ("<tt>%'_-20s  %s </tt><br />", $key,$value);
    }
    echo "<br />";

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    ta fonction sprintf("<tt>%-20s %s </tt><br />", $key, $value); fonctionne très bien.
    Elle aligne parfaitement les données.
    Le truc c'est que tous tes espaces consécutifs sont remplacés par un seul dans le navigateur => (ça va il te reste encore des cheveux ?)

    Si tu veux les voir, il faut les remplacer par &nbsp;.

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

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

    Informations forums :
    Inscription : Août 2011
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Merci pour cette réponse. Mais je ne la comprends pas.

    En effet comment intégrer dès lors $nbsp; dans ma syntaxe ? J'ai essayé à plusieurs reprises mais plus rien ne s'affiche comme il se doit.

    Par ailleurs, il est curieux que la docu PHP mentionne l'espace comme la valeur par défaut, mais que les navigateurs ne tiennent pas compte du nombre d'espace dans le format.

    Sinon mes cheveux vont bien.

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<tt>', str_replace(' ', '&nbsp;', str_pad($key, 20, ' ', STR_PAD_RIGHT)), ' ', $value, '</tt><br />';

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

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

    Informations forums :
    Inscription : Août 2011
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup, c'est tout à fait ça.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/07/2012, 10h21
  2. Réponses: 2
    Dernier message: 10/02/2012, 16h22
  3. utilisation des templates pour traiter une partie d'un doc tei
    Par tigunn dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 03/02/2012, 17h12
  4. Réponses: 2
    Dernier message: 25/05/2011, 18h07
  5. Utilisation des pourcentages pour structurer une page
    Par Jean Sympa dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 20/12/2010, 13h04

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