Page 1 sur 1

str_replace , problème

Posté : 22 févr. 2006, 17:32
par Smash34
bonjour,
voici mon code qui me pose problème ci-dessous.

je remplace $word par $remplace dans le fichier $old_content.
mais le problème est que le mot $word est présent plusieurs fois dans le fichier, et je ne voudrais supprimer que la deuxième occurence par exemple ! j'ai le numéro de son occurence par $n;

comment faire ??????

merci de votre aide.

Code : Tout sélectionner

$file= $_GET['file']; $n= $_GET['n']; $remplace= $_GET['rep']; $word= $_GET['mot']; echo 'Le fichier est : <b>'.$file.'</b> <br><br>Le numéro de l\'occurence est : <b>'.$n.'</b> <br><br>Le mot de remplacement : <b>'.$remplace.'</b>'; $old_content = file_get_contents($file); $new_content = str_replace($word, $remplace, $old_content); if(strcmp($old_content, $new_content)) //si le fichier texte a changé { if(false !== ($fp = fopen($file, 'w'))) { fwrite($fp, $new_content); fclose($fp); } echo '<li>' . $file . '</li>'; }

Posté : 22 févr. 2006, 17:36
par Spols
j'ai pas tout compris

pour changer un mot dans un fichier il faut d'abord l'ouvrir ==> fopen()
ensuite chercher les occurence en les comptant et si elle corresponde à celle qui fo chager on la change

sinon j'ai pas compris ce que tu veux

Posté : 22 févr. 2006, 17:38
par Smash34
ouais petite précision : je débute en php !! lol
donc il y a surement une autre méthode je ne sais pas !
prenons un exemple :
j'ai un fichier qui contient les caractères suivants :
"<html><body>bonjour je m'appelle smash, je m'appelle smash, je m'appelle smash</body></html>"
je cherche à modifier la deuxième ou troisième occurence du mot "smash"
par un autre mot ! contenu dans ma variable $replace
... c'est tout !