Utiliser du php dans str_replace()

Résolu
batt01 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -  
batt01 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai besoin d'aide pour programmer un CMS qui utilise des templates. Voici mon problème en plus détaillé:

Je possède une base de données qui contient des news à afficher. Pour chacune des pages du site, je code 3 pages:

-> templatecorps.html qui est mon template
-> contenunews.html qui lit dans la bdd et génère la réponse (me pose problème)
-> le générateur de pages news.php pour lier le template et le contenu généré, qui utilise la fonction str_replace().
https://www.php.net/manual/fr/function.str-replace.php

Mon probleme est peut etre tout simple, mais str_replace n'accepte que des paramètres HTML, mais je suis bien obligé de me servir de php pour interagir dans la base de données.
Comment faire?

(je suis obligé d'utiliser ce système de fichiers et templates, c'est dans un sujet)

voici un peu de mon code.

Générateur :

$corps=file_get_contents('news.html');
$contenu_corps=file_get_contents('template/template_corp.html');
$replace_corps=str_replace("<%% corps %%>",$corps,$contenu_corps);
echo $replace_corps;

Template :


<html>
<head>
<title>CMS pour la Semaine speciale 2</title>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="index.css" />
</head>
<body>

<div id="corps">
<%% corps %%>
</div>

</body>
</html>

contenu : il faut un fichier hmtl qui contienne le contenu de ce code php :

echo'<h1>Les NEWS de la semaine spéciale</h1>';
$link = mysql_connect('localhost','root','');
if (!$link)
die('Problème de connexion à la base');
if (!mysql_select_db('mabdd',$link))
die('Problème de selection de base de données');
$sql = 'select * from article where idcategorie=2 && etatarticle=2';
$query = mysql_query($sql,$link);

while ($ligne = mysql_fetch_assoc($query)) {
//$sql2 = 'select loginuser from user where iduser='.$ligne['iduser'];
//$query2 = mysql_query($sql2,$link);
//while ($ligne2 = mysql_fetch_assoc($query2)) {
$_SESSION['variable'] = echo''.$ligne['titrearticle'].'<br><br>'.$ligne['contenuarticle'].'';
echo'<br><br>';
//}
}


A voir également:

3 réponses

louloute300 Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   29
 
J'ai pas tout lu, mais et si tu utiliserai ereg_replace?
0
batt01 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour loulou300 et merci de me répondre

c'est à dire qu'est ce que cela change par rapport str_replace?

De plus lorsque je lance tous cela dans un navigateur j'ai mon menu normale et quand je clique sur news il me met le code php complet au lieu de mettre seulement le résultat de la requête. je sèche vraiment la!

Cordialement
0
batt01 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention  
 
C'est bon j'ai réussi un eval sur ce que je voulais marqué et voila il écrit ce que je veux.
Merci
0