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 :

variable à trou


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    387
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 387
    Points : 109
    Points
    109
    Par défaut variable à trou
    Bonjour à tous,

    Voilà j'ai un texte à trou contenu dans une variable et j'aimerai remplir automatiquement tou les trou.

    j'ai un texte:
    Bonjour _____,
    Comment vas tu ______? ....
    ou _____ dois être remplacer par le prénom.

    J'ai tenter un sprintf()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    define('TEXT_TROU', 'Bonjour %s,<br/>Comment vas tu %s');
    echo sprintf(DESCRIPTIF_COLLECTION_PAYS, $prenom);
    Ce qui fonctionne si il y a 1 trou, mais pas si il y a plusieurs trou?

    Comment pourrais je faire?
    Merci à vous

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 85
    Points : 71
    Points
    71
    Par défaut
    1 %s = 1 $prenom
    2 %s = 2 $prenom
    3 %s = 3 $prenom
    ect ect...

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    387
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 387
    Points : 109
    Points
    109
    Par défaut
    J'ai trouver cette solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    define('TEXT_TROU', 'Bonjour %s,<br/>Comment vas tu %s');
    echo sprintf(DESCRIPTIF_COLLECTION_PAYS, $prenom, $prenom);
    Mais si il y a 10 trous?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo sprintf(DESCRIPTIF_COLLECTION_PAYS, $prenom, $prenom, $prenom, $prenom, $prenom, $prenom, $prenom, $prenom, $prenom, $prenom);
    Il y a pas plus propre?

    Merci

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    Si tu veux utiliser plusieurs fois la même variable dans un printf, il te faut signaler à laquelle tu t'adresse :

    Du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    printf( "salut %1$s, moi c'est %2$s, comment vas tu %1$s ?" , $prenom , $moi );
    Pourfendeur de singletons en croisade

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 85
    Points : 71
    Points
    71
    Par défaut
    Tu peux aussi utiliser une solution différente :


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    define('TEXT_TROU', 'Bonjour %@prenom@%,<br/>Comment vas tu %@surnom@%');
     
    $txt_final = str_replace("%@prenom@%", $prenom, TEXT_TROU);
    $txt_final .= str_replace("%@surnom@%", $surnom, TEXT_TROU);
     
    echo final;

    les %@...@% n'ont pas de sens particulier, c'est juste une délimitation.

    EDIT : utilises bien .= et non pas juste = pour concaténer tes chaines éventuellement.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/07/2002, 13h32
  2. variables locales ou globales ???
    Par elvivo dans le forum C
    Réponses: 13
    Dernier message: 03/07/2002, 08h22
  3. Procédure avec un nombre variable d'arguments
    Par charly dans le forum Langage
    Réponses: 15
    Dernier message: 21/06/2002, 11h08
  4. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

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