php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Verändern Textdatei - großes Problem


 
joop
22-01-2004, 13:46 
 
Hi Leute,

ich zerbreche mir jetzt schon seit 2 Tagen den Kopf und komme nicht weiter, vielleicht hat ja jemand von euch ne idee.

ich habe eine csv bzw. textdatei, dort soll

1. geprüft werden ob in jeder zeile 7 Semikolns (schreibt man das so?!) sind und falls nicht die übrigen in die zeile eingefügt werden.

Damit habe ich über explode immer 7 werte pro zeile....

2. soll der user die möglichkeit haben den x-ten wert aus der zeile zu löschen

z.b.

eins; zwei; drei; vier; fünf; sechs; sieben;
eins; zwei; drei; vier; fünf; sechs; sieben;
eins; zwei; drei; vier; fünf; sechs; sieben;

user möchte jeden 2. wert löschen...

eins; drei; vier; fünf; sechs; sieben;
eins; drei; vier; fünf; sechs; sieben;
eins; drei; vier; fünf; sechs; sieben;

das resultat soll dann wieder in die datei...

ufff... hat jemand ne lösung um das schnell über ne schleife zu realisieren?

Danke

 
derHund
22-01-2004, 13:51 
 
1. geprüft werden ob in jeder zeile 7 Semikolns (schreibt man das so?!) sind und falls nicht die übrigen in die zeile eingefügt werden.
Damit habe ich über explode immer 7 werte pro zeile....

das ist imho unnötig, es reicht doch aus, wenn du nach dem exploden die unterschiedlich anzahl beachtest ... ?


2. soll der user die möglichkeit haben den x-ten wert aus der zeile zu löschen

einfach vor dem implode zum erneuten schreiben unset(array[des_halt]) sollte gehen ... ?

 
wahsaga
22-01-2004, 13:56 
 
- lese die datei über file() ein - damit hast du jede zeile als element eines arrays.

- auf jedes element dieses arrays kannst du jetzt explode am ; anwenden - du erhältst ein unter-array mit so vielen elementen, wie durch ; getrennte werte vorhanden waren. ob die anzahl ; nun genau sieben war oder nicht, sollte hier m.E. vollkommen wurscht sein.

- zum löschen eines bestimmten wertes aus diesem unter-array verwende eine geignete array-funktion, evtl. array_splice (http://www.php.net/manual/de/function.array-splice.php)

- füge die unter-arrays mit implode wieder zusammen, analog zu explode

- schreibe die so erzeugten strings wieder in deine text-datei

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:46 Uhr.