ouverture de fichier interprété en PHP

fwy
Petit nouveau ! | 1 Messages

25 avr. 2013, 11:44

Bonjour,

Je créé en ce moment un site multilangue, j'ai des fichiers lang-fr.php,lang-en-php,land-ro.php etc qui sont chargés
avec un include par rapport à la langue choisie ( envoyée par la methode GET).
Ce qui veut dire que dans toutes les pages de mon site, le contenu fait référence a une variable de ces fichiers.
par exemple pour écrire le contenu d'une div j'ai une variable $contenu5 que j'affiche avec un echo.

Afin de faire une recherche interne a mon site, j'ai créé un script qui ouvre un dossier où il y a mes pages.
Ensuite il ouvre la page pour y afficher le contenu. j'ai donc utilisé la méthode file_get_contents();
Le problème est qu'il ne m'affiche pas le contenu de type texte, étant donné que celui ci doit être chargé avec
le include ("lang-fr.php") par exemple. il n'interprete donc pas le code php du fichier que je lui demande de lire.
Vous auriez une solution.

Merci
Voici le code de ma recherche

Code : Tout sélectionner

<?php if(!isset($_POST['search'])){ echo "Vous n'avez recherché aucun mot."; } else{ $search=$_POST['search']; echo "<strong>Votre recherche : </strong>". $search."<br/><br/>"; $resultat=0; if(strlen($search) <=3) { echo "Merci de rentrez un mot de plus de 3 caractères"; }else{ if($dossier = opendir('Engagements')) { while($fichier = readdir($dossier)) { if($fichier != '.' && $fichier != '..') { $contenu= file_get_contents('Engagements/'.$fichier); echo $contenu; echo "<br><br><br><br><br><br><br><br>"; if (preg_match("/.".$search."/i", $contenu)){ $resultat++; preg_match('/\<title>(.+)\<\/title\>/Ui',$contenu,$titre); echo '<strong>Titre de la page : </strong>'.$titre[1]. '<br/>'; // Récuperer uniquement contenu entre <body> et </body> preg_match('#<body>(.+)</body>#isU', $contenu, $resume_preg); $resume=strip_tags($resume_preg[1]); echo '<font color="red"><strong>Contenu entier de la page : </strong></font>'.resume_mots($resume).'<br/>'; echo '<a href="./pages/' . $fichier . '">' . $fichier . '</a><br/>'; echo '---------------------------------------------------------------------------------<br/><br/>'; } } } if($resultat==0){ echo "<strong>Aucun résultat trouvé, réessayer avec d'autres mots clés</strong><br/>"; }else{ echo '<br />'; echo 'Il y a <strong>' . $resultat .'</strong> résultat(s) à votre recherche'; } closedir($dossier); }else{ echo 'Erreur interne lors de la recherche'; } } } ?>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

25 avr. 2013, 19:20

salut,


vu ton code il te manque la fonction htmlentities (sur $contenu)

@+
Il en faut peu pour être heureux ......