str_replace , problème

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : str_replace , problème

par Smash34 » 22 févr. 2006, 17:38

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 !

par Spols » 22 févr. 2006, 17:36

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

str_replace , problème

par Smash34 » 22 févr. 2006, 17:32

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>'; }