[PHP] Problème de remplacement de variables..

Résolu/Fermé
Alex.css0 - 15 déc. 2007 à 03:40
 Alex.css0 - 16 déc. 2007 à 02:02
Bonjour à tous!
Je suis pas très bon en PHP, ça fait tout peu 1 mois que j'ai commencé donc ne soyez pas surpris du code PHP que je risque de vous montrer:

<?php
include("configuration/configuration.php");
$THEME_page_header_php = "theme/".$Theme_actuel."/page_header.html";
if(file_exists($THEME_page_header_php))
{
 include($THEME_page_header_php);
 str_replace("{Theme.Site_Titre}", $titre_site, $chaine);
}
?>

Alors je résume en gros ce que je fais:
1. J'inclus un fichier de configuration
2. La variable $THEME_page_header_php = "theme/".$theme_actuel."/page_header.html";
// Note: $theme_actuel est valide, il équivaut à: original
3. Si le fichier de la variable $THEME_page_header_php existe alorss...
4. incluons le fichier de la variable en question
5. str_replace remplace une chaine de caractère. Cependant, la chaine de caractère {Theme.Site_Titre} doit être remplacer par la valeur de $titre_site (qui existe dans le fichier de configuration et est valide et écrit correctement) mais là, c'est à ce moment que mon problème se présente...

J'essai de remplacer une chaine de caractère par une variable, mais comment faire pour indiquer de remplacer celle qui se trouve dans le fichier page_header.html ??

J'ai beau chercher, je ne trouve toujours pas.

Je remercie d'avance ceux qui pourront m'aider à comprendre et à résoudre mon problème .

Cordialement,
Alex.css
A voir également:

5 réponses

Bonjour

Tu veux modifier ton fichier page_header.html ? ou créer un nouveau fichier qui est une copie de page_header.html avec une chaîne substituée ?
Tu es conscient que dans le premier cas, tu ne pourras faire ta manip qu'une seule fois, après il n'y auras plus de {chaine à changer} ?

Et surtout, à quoi ça sert ????
Si c'est pour envoyer ton fichier page_header.html à un visiteur comme on peut le supposer, transforme-le en fichier page_header.php. Là ça devient très facile de substituer un texte.
0
bonjour,

par principe:

dans str_replace("{Theme.Site_Titre}", $titre_site, $chaine);

il faut que $chaine corresponde à une variable existante dans le fichier page_header.html

dans ce fichier il faut que tu ait $chaine=une chaine contenant la partie que tu veux remplacer
0
Mmm.. Ok merci Alain42 :)
Bon, le principe de mon code:
page_header.php (code cité en haut)

page_header.html

Je veux faire un changement de thème, avec des variables... un peu comme le principe des systèmes de forum, mais de la manière qu'ils code, c'est un peu trop compliqué pour mon coco ^^''

J'essai d'expliquer clairement, mais ce n'est pas simple xD

Supposons que je prévois sur mon site d'offrir aux membres de changer le thème, et que je veuille procédé ainsi, il y a surement un moyen quelquonque non ?

Peut-être je me trompe avec ce code mais alors n'y aurait-il pas moyen d'utiliser d'autres fonctions ?

Cordialement,
Alex.css
0
Tu peux t'en tirer avec str_replace, si tu lis ton fichier complètement dans $chaine (pas question de include) puis que tu en fais un echo après le str_replace

Mais il me semble beaucoup plus logique de suivre cette démarche :
prends ton fichier page_header.html
une bonne fois pour toutes, avec ton éditeur favori, remplace les {Theme.Site_Titre} par des <?php echo $titre_site ?>
sauvegarde-le comme toto.php

puis modifie ton script :
<?php
include("configuration/configuration.php");
$THEME_page_header_php = "theme/".$Theme_actuel."/toto.php";
if(file_exists($THEME_page_header_php))  include($THEME_page_header_php);
?>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mmm. Logique...
J'avais dans l'idée d'éviter le PHP dans les fichiers HTML, mais bon, pas de problème ;-) .

Mais bon, puisque c'est la seule méthode envisageable, je crois que je vais devoir l'utiliser :D
Et il serait possible de l'utiliser avec des array ? (Sans doute j'imagine ^^ )

Problème résolu.

Merci beaucoup de m'avoir aidé !
Cordialement,
Alex.css
0