Str_replace à partir d'un fichier XML

Résolu
Mr Joé Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   -  
Mr Joé Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un fichier word de base sont la forme : Le site qualite est : *mot* peut etre que : *abc*. Puis j'utilise la commande enregistrer sous pour passer le doc word en doc XML.

Puis j'utilise PHP pour me permettre de faire un recherche dans le doc.XML me permettant de remplacer *mot* par tropfort et *abc* par non. Mon code est le suivant :

<?php
$file = "site.xml";

$content=file_get_contents($file);

if ($result=str_replace("*mot*","tropfort",$content)){
echo "remplacement effectué<br/>";
echo $result;
}
else {echo "remplacement loupé contenuFic<br/>";}

if ($result=str_replace("*abc*","non",$content)){
echo "remplacement effectué<br/>";
echo $result;
}
else {echo "remplacement loupé contenuFic<br/>";}



if (is_writable($file)){
$fh=fopen($file,"w");

echo fwrite($fh,$result);

fclose($fh);
}
else {echo "impossible d'écrire dans le fichier";}

?>


Le remplacement s'effectue avec succès mais un seul remplacement s'effectue.
Faut-il que je fasse une boucle entre fwrite($fh,$result) pour compter l'ensemble des $result à modifier


J'espère que j'ai été clair, n'hésiter pas à me poser des questions si vous ne comprenez pas mon problème;

Merci d'avance,
A voir également:

1 réponse

Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
salut,

tu fais le deuxième remplacement sur la valeur original '$content'.
essaie avec :
if ($content=str_replace("*mot*","tropfort",$content)){
echo "remplacement effectué<br/>";
echo $content;
}
else {echo "remplacement loupé contenuFic<br/>";}

if ($content=str_replace("*abc*","non",$content)){
echo "remplacement effectué<br/>";
echo $content;
}
else {echo "remplacement loupé contenuFic<br/>";} 

0
Mr Joé Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   3
 
Ton test à été concluant, je te remercie

Bonne jornée,

Je passe la discussion en résolue

Merci
0