recherche et remplacement dans le fichier meme

recherche et remplacement dans le fichier meme - PHP - Programmation

Marsh Posté le 26-05-2004 à 11:23:32    

Bonjour,
j'ai créer un pti script en php qui me permet de rechercher tous les mots se trouvant entre 2 accolades {{mot}} et qui le remplace par une url d'image du type <img src="mot.jpg">.
Or pour le moment le script est exterieur a la page html ou se trouve les mots a rechercher or j'aimerai l'incruster à l'interieur meme du html.
Je n'ai aucune idée pour le faire.
Voila mon script:
<?php
 $url="page.html";  
 $recherche_debut="{{";
 $recherche_fin="}}";
 $end="</HTML>";
 $fichier = fopen($url, "r" );  
 $ligne=fgets($fichier);
 $result=NULL;
 while(!ereg($end, $ligne)){
   $posdeb=NULL;
   $posfin=NULL;
      $posdeb = strrpos($ligne, "{{" );  
   $posfin = strrpos($ligne, "}}" );
   if ($posdeb>0 AND $posfin>0){
   $mot_origine = substr($ligne, $posdeb-1, ($posfin-$posdeb)+2);
   $mot = substr($ligne, $posdeb+1, (($posfin-$posdeb)-2));
          $mot = "<img src=".$mot.".jpg></img>";
   $result = str_replace ($mot_origine, $mot, $ligne);
          }
   $ligne=fgets($fichier);
 }  
 echo $result;  
 fclose($fichier);  
?>
 
Merci beaucoup pour votre aide.
Groskachou

Reply

Marsh Posté le 26-05-2004 à 11:23:32   

Reply

Marsh Posté le 26-05-2004 à 11:59:41    

j'ai lu ton script en diagonal, mais à priori, tu concatènes tes $result, et tu colles le résultats dans un fichier (fopen,  fwrite and co...) qui peut être ton fichier original ou non ;)

Reply

Marsh Posté le 26-05-2004 à 12:09:28    

le truc c'est que j'aimerai que tout se fasse dans le meme fichier: la recherche, le remplacement puis l'affichage meme de la page.

Reply

Marsh Posté le 26-05-2004 à 13:14:32    

Je ne te conseil pas d'intégrer ton code PHP dans l'html, tes balises {{..}} n'auraient alors plus aucun sens, enfin il me semble.
 
par contre pour ton code je dis bravo : belle monstruositée  ;).
 
voila quelque chose d'un peu plus simple (juste un exemple) :

$t = "bla bla {{i1}} bla bla {{i2}}";
echo preg_replace_callback('/{{(\S+)}}/', create_function('$image', 'return \'<img src="\'. $image[1].\'.jpg" />\';'), $t);


 
cela affiche donc :

bla bla <img src="i1.jpg" /> bla bla <img src="i2.jpg" />


 
Ahh que le PHP est laid :p


Message édité par Ummon le 26-05-2004 à 13:18:29
Reply

Marsh Posté le 26-05-2004 à 14:34:16    

Haha merci :)
C'est vrai qu'il est bien laid et lourd mais vu que j'ai que quelques mois de PHP derrière moi je m'étonne moi même des fois de ce que je fais :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed