[RESOLU] Export csv

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 : [RESOLU] Export csv

Re: Export csv

par ChrisToff » 12 févr. 2023, 12:27

j'ai trouvé. En fait j'ai inversé mon str_replace:

Code : Tout sélectionner

$descript = str_replace('"', '""', $descript); // ce qui ne fonctionne pas $descript = str_replace('""', '"', $descript); // ce qui fonctionne
Merci pour votre aide

Re: Export csv

par or 1 » 11 févr. 2023, 22:35

Re: Export csv

par ChrisToff » 11 févr. 2023, 21:42

Le séparateur est la virgule dans mon csv.
Par contre chaque champ "texte" sont encadré par des ". Du coup quand des guillemets se trouvent dans le texte il faut les échapper. Avec php un addslashes va suffir mais pour csv il faut doubler les guillemets.

J'ai essayé de faire un export csv sous Prestashop et les guillemets sont bien doublés.

Mon problème est que je n'ai aucune idée de comment faire pour doubler des guillemets dans une chaine de caractère.

Re: Export csv

par or 1 » 11 févr. 2023, 21:33

color:#2c9ffd;
vous êtes sur que le séparateur est bien le " et non ; ?

Re: Export csv

par ChrisToff » 11 févr. 2023, 20:19

Merci pour ta réponse.

Effectivement je ne sais pas pourquoi je suis parti sur preg_replace.

Je viens d'essayer avec str_replace() et ca me fait un truc bizarre. Ca triple les guillemets et ca ne règle pas mon problème de description :

Code : Tout sélectionner

<p><strong>Descriptif</strong> : S’utilise avec les produits techniques <a href=""""mon_site"""" target=""""_blank"""" rel=""""noreferrer noopener""""><span style=""""color:#2c9ffd
J'ai écrit ca:

Code : Tout sélectionner

$descript = str_replace('"', '""', $descript);

Re: Export csv

par or 1 » 11 févr. 2023, 19:53

https://www.php.net/manual/fr/function.str-replace.php suffit dans ce cas et est plus facile à utiliser.

Export csv

par ChrisToff » 11 févr. 2023, 17:01

Bonjour,

J'ai un petit soucis avec un export *.csv de ma boutique vers pinterest.

J'arrive bien a créer mon fichier mais au niveau des mes descriptions de produit j'ai du html dedant que j'ai volontairement conservé pour embellir le texte sur pinterest.

Certaine de mes descriptions ne sont pas complètes dans mon csv.

Voilà un exemple de description:

Code : Tout sélectionner

<p><strong>Descriptif</strong> : S’utilise avec les produits techniques <span style="color:#2c9ffd;"><a href="mon_site" target="_blank" style="color:#2c9ffd;" rel="noreferrer noopener">BBHaire</a></span>.</p>

Dans mon fichier csv j'ai :

Code : Tout sélectionner

<p><strong>Descriptif</strong> : S’utilise avec les produits techniques <span style=""color:#2c9ffd

Sans surprise les guillemets posent problème puisqu'ils sont utilisés comme délimiteur. Du coup Il manque un bout. J'ai essayé de mettre un addslashes sans grande conviction et j'obtiens ceci:

Code : Tout sélectionner

<p><strong>Descriptif</strong> : S’utilise avec les produits techniques <span style=\"color:#2c9ffd

J'ai lu que dans un fichier csv il fallait échapper les guillemets par un double guillemets. Je pensais pouvoir faire ca facilement avec un preg_replace mais j'obtiens un message d'erreur :

Code : Tout sélectionner

$description = preg_replace('"', '""', $description);
Warning: preg_replace(): No ending delimiter '"' found in............

Si quelqu'un a une idée pour me sortir de cette galère je suis preneur.

Merci d'avance :wink: