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 -
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,
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:
- Str_replace à partir d'un fichier XML
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Fichier rar - Guide
1 réponse
salut,
tu fais le deuxième remplacement sur la valeur original '$content'.
essaie avec :
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/>";}
Bonne jornée,
Je passe la discussion en résolue
Merci