2010-07-05 7 views
0

Je cherche simplement à sortir le premier csv d'une chaîne, en utilisant PHP. Voici quelques exemples:En PHP, Suppression du premier élément dans la chaîne CSV

  • "Sea Bass, farinée ou panés, frits" => "farinée ou panés, frits"
  • "thon, frais, cuit au four ou grillé" => « frais, cuit au four ou Grillé »
  • "Toubib, panés ou battues, Cuisson au four"=> "pané ou battues, Cuisson au four"

Et ainsi de suite ...

Merci.

+0

Avez-vous déjà du code qui charge le fichier CSV en mémoire? Si oui, pourriez-vous afficher la partie pertinente? –

+0

Afficher les données CSV, car ce que c'est, ne sépare pas les deux éléments, ce qui signifie que vous voulez modifier les données dans un élément csv plutôt que de supprimer un élément. – Incognito

+0

Comme le dit Ben, comment remplissez-vous votre chaîne ... si elle provient d'un fichier, alors la fonction fgetcsv() de PHP peut vous simplifier les choses –

Répondre

2

Vous pouvez essayer ceci:

$csvArray = explode(",", $csv); 
array_shift($csvArray); 
$newCsv = implode(",", $csvArray); 
+1

Vous n'avez pas besoin de (et * ne devriez jamais *) passer un tableau (ou quoi que ce soit, vraiment) en référence à une fonction * built-in * à moins que la fonction demande expressément une référence. En plus d'être [contre-intuitivement lent] (http://stackoverflow.com/questions/3117604/why-is-calling-a-function-such-as-strlen-count-etc-on-a-referenced-value-so -sl), il a déjà été un [risque de sécurité] (http://php-security.org/category/vulnerabilities/index.html) dans le noyau PHP (consultez les bugs "interruption" ...) – Charles

+0

Won ' t fonctionne si l'une des valeurs contient réellement une virgule, alors que les fonctions de gestion CSV intégrées peuvent gérer cela. –

+0

array_shift demande une référence. – xil3

1

Je suggère d'utiliser str_getcsv ou quelque chose de similaire qui parse csv, cela prendra en compte les guillemets et virgules dans la chaîne CSV. après cela, vous pouvez simplement array_shift

Questions connexes