bonjour,
ma ligne dans mon csv doit être comme ceci :
179A07EBEA83E46181CCF474BAE1E4E22FCE8E659D1F7FBAD0AFA3AD942CA6EA;available;1400163513;2;tre;tre;tre
et lorsque l'utilisateur souhaite modifier un champ (entre 2à l'aide d'=un formulaire, il n'y a pas de problème, sauf s'il insert un ;. Je souhaite remplacer ce ';' par ',' mais comme vous le voyez en gras, dans ce cas ma ligne devient :
"179A07EBEA83E46181CCF474BAE1E4E22FCE8E659D1F7FBAD0AFA3AD942CA6EA;available;1400163513;2;tre;tr,e;tre"
Mon code est le suivant :
Seuls les 3 derniers champs posent problème, les autres étant volontairement en readonly dans le formulaire de modification.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $carToReplace = array(';', '"'); $donnees[4] = str_replace($carToReplace, ',', $donnees[4]); $donnees[5] = str_replace($carToReplace, ',', $donnees[5]); $donnees[6] = str_replace($carToReplace, ',', $donnees[6]);
Je fais ensuite mon insertion dans le fichier csv :
Si vous avez la solution, je vous en serais reconnaissante car cela fait un bon moment que je cherche la solution, en vain.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $line = $donnees[0].';'.$donnees[1].';'.$donnees[2].';'.$donnees[3].';'.$donnees[4].';'.$donnees[5].';'.$donnees[6]; fputcsv($fichier,explode(' ; ',$line));
J'ai également testé en ajoutant htmlentities mais cela ne change rien.
Merci de votre aide
Partager