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 :

Comment faire pour transformer un mot {contenu} au contenu réel ?


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut Comment faire pour transformer un mot {contenu} au contenu réel ?
    Bonjour,

    Qui peut m'aider à faire une petite fonction ? le genre echo mafonction($monTableau['Parametres']['templ']);

    Le contenu vient d'un fichier .ini appelé : membres2.ini
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    [Parametres]
    templ="<div id="wrapper">
    <div id="lang"><a href="#">FR</a>&nbsp;&nbsp;&nbsp;<a href="#">EN</a></div>
     
    <div id="menus_conteneur"><div id="menus">{primarylink}</div></div>
     
    <div id="adresse">Rue des Lions 4<br />
    Fribourg - Suisse<br />
    </div>
     
    <div  id="contenuScroll">
    <div id ="contenu"><br />{contenu}</div>
    </div>
     
    <div id="copyright"><a href="#" class="menuCopyright">Mon site</a></div>
    </div>"
    Voici le code devant afficher la page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $primarylink = '<a href="presentation.php">Présentation</a>';
    $contenu = "Si tu veux, fais que ton âme arrive, à force de rester studieux et pensif, jusqu'à ce haut degré de stoïque fierté, où le sort a voulu t'appeler.";
    $fichier = 'membres2.ini';
    $monTableau	= parse_ini_file($fichier,true);
    echo $monTableau['Parametres']['templ'];
    ?>
    Quand j'exécute la page, tout se passe bien sauf les variables entourées de {} qui devraient se transformées qui s'exécutent comme expression. C'est normal. Il faut une petite fonction qui transforme tout ça.
    Voici ce que j'ai : {primarylink} {contenu}
    Qui peut m'aider à faire cette fonction? merci beaucoup

  2. #2
    Membre averti Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Points : 416
    Points
    416
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    function la_fonction_qui_remplace(array $tab,String $texte) {
    	$arrSearch = array();
    	$arrReplace = array();
    	foreach($tab as $key => $val) {
    		$arrSearch[] = '{'.$key.'}';
    		$arrReplace[] = $val;
    	}
    	return str_replace($arrSearch,$arrReplace,$texte);
    }
    ?>
    Et l'utilisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    $arr = ('primarylink' => $primarylink ,'contenu' =>$contenu);
    echo la_fonction_qui_remplace($arr,$monTableau['Parametres']['templ'])
    ?>

  3. #3
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Merci beaucoup pour ton aide FrançoisIT
    Voici ce que j'ai fait de ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $primarylink = '<a href="presentation.php">Présentation</a>';
    $contenu = "Si tu veux, fais que ton âme arrive, à force de rester studieux et pensif, jusqu'à ce haut degré de stoïque fierté, où le sort a voulu t'appeler.";
    function la_fonction_qui_remplace(array $tab,String $texte) {
    	$arrSearch = array();
    	$arrReplace = array();
    	foreach($tab as $key => $val) {
    		$arrSearch[] = '{'.$key.'}';
    		$arrReplace[] = $val;
    	}
    	return str_replace($arrSearch,$arrReplace,$texte);
    }
    $fichier = 'membres2.ini';
    $monTableau	= parse_ini_file($fichier,true);
    $arr = ('primarylink' => $primarylink ,'contenu' =>$contenu);
    echo la_fonction_qui_remplace($arr,$monTableau['Parametres']['templ'])
     
    ?>
    J'ai cette erreur :
    Parse error: syntax error, unexpected T_DOUBLE_ARROW in C:\wamp\www\monsite\essai3.php on line 25
    . La ligne 25 c'est ça :
    $arr = ('primarylink' => $primarylink ,'contenu' =>$contenu);
    D'avance je te remercie

  4. #4
    Membre averti Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Points : 416
    Points
    416
    Par défaut
    J'ai oublié le mot clé "array" devant la parenthèse ouvrante de la ligne qui cause l'erreur .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $arr = array('primarylink' => $primarylink ,'contenu' =>$contenu);

  5. #5
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    hum j'connais le >= mais pas le => c'est normal?

    Edit: j'ai rien dis j'ai pas vus le array

  6. #6
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Oui merci, ça marche maintenant mais il faut enlever le string devant sinon ça merde.
    A bientôt cher ami.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/06/2006, 14h49
  2. Réponses: 5
    Dernier message: 27/05/2006, 12h06
  3. Réponses: 3
    Dernier message: 22/05/2006, 10h03
  4. [SimpleXML] Comment faire pour transformer un fichier XML en PHP ?
    Par magic8392 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 23/09/2005, 16h22

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