Visualizzazione dei risultati da 1 a 4 su 4

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    254

    CSV: distinzione tra separatore e valore

    Ciao a tutti,
    avevo già fatto questa domanda ma non avevo avuto risposta e non riesco a trovare il post.

    Il problema è questo:
    ho uno script per creare un CSV che utilizza come separatore il ';'.
    Come faccio a dire al server che in alcuni casi il ; è un valore e non separatore?

    nome note
    Angelo Vado in piscina; ho fame.
    Marco Vado al mare; mi sento bene.




    Scusate l'esempio stupido.

    Il codice sarebbe:

    Codice PHP:
    while($dati....){
          
    $nome=$funzione->fai_qualcosa_per_accettare_la_virgola_come_valore(dati[nome]);
          
    $note=$funzione->fai_qualcosa_per_accettare_la_virgola_come_valore(dati[note]);
         
    $stringa_csv.=$nome.";".$note."\n";

    Ps: non ho bisogno di cambiare separatore, ho bisogno di distinguere i due casi.

    Vi ringrazio

    A.

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Il campo "incriminato" è racchiuso, ad esempio, tra virgolette?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2012
    residenza
    Dese (Venezia)
    Messaggi
    41
    Ciao non puoi usare la funzione fputcsv?
    http://us2.php.net/manual/en/function.fputcsv.php
    Ti conviene, basta mettere i tokens in un array e ti crea in uscita il csv.
    In questo modo non dovresti avere più problemi, puoi specificare sia il parametro per il delimiter sia di enclosure..

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    254
    Proverò fputcsv, grazie.
    Intanto però avevo trovato come soluzione, quella suggerita da clasku, che leggo solo ora: "campo";
    Però non finisce qui, in quanto se questo campo ha delle virgolette, queste chiuderanno la selezione, quindi, oltre a virgolettare il capo bisogna raddoppiare le eventuali virgolette presenti nel campo con un replace. Per ora ho impostato in questo modo ma credo che passerò al più presto alla funzione fputcsv per evitare sorprese non calcolate.

    Grazie a tutti della collaborazione
    A.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.