Leerzeichengetrennte Werte bearbeiten

Hi, ich habe folgendes Problem:
Meine Telefonanlage liefert mir folgende Werte zurück:
Datum Rufnummer Nebenstelle Dauer
17.01.05 12:41 01778983xxx FON 1 0:01
17.01.05 12:40 01778983xxx FON 1 0:01
17.01.05 12:33 01606584xxx FON 1 0:01

Ich möchte jetzt mit diesen Werten arbeiten, in der Form:
Datum auslesen,
checken ob Mobil oder Festnetz,
Dauer,

und dann kann ich mir sozusagen immer einen aktuellen Stand meiner Telefonrechnung machen.

Nun zu meiner Frage: Wie kann ich aus jeder Zeile die einzelnen Werte für Dauer, Rufnummer und Datum auslesen?
Mit explode kann ich ja nur alles komplett stückeln, aber ich brauche das ja quasi für jede Zeile neu.

Danke euch
Gruß Philipp
 
Nein ich glaube, dass löst mein Problem nicht.
Die Eingabe der Werte:
Datum Rufnummer Nebenstelle Dauer
17.01.05 12:41 01778983xxx FON 1 0:01
17.01.05 12:40 01778983xxx FON 1 0:01
17.01.05 12:33 01606584xxx FON 1 0:01

Funktioniert nur über Copy & Paste, ich habe die nicht in einer Datei.

Ich kann also bloß über <textarea> diese Werte zum weiterbearbeiten einfügen.

Entweder war deine Antwort wirklich nicht die Lösung des Problems, oder ich habe einfach die Befehle nicht verstanden.
Habe sie mir aber auf php.net angeschaut.

Ich bin allerdings auch totaler php Neuling, weshalb ich euch bitten würde wenn ihr mir Befehle sagt, mir auch deren Wirkung und Verwendung kurz zu erklären.

Danke nochmal.
Gruß Philipp
 
Das kannst du mit regulären Ausdrücken machen....[phpf]preg_match_all[/phpf] ist dort dein Freund.
Erkärungen dazu findest du hinter dem Link,.... wenn du sie nicht verstehst, frag nochmal nach :)
 
verstehe so ungefähr den Befehl.
Nur sag mir bitte wie ich den anwenden soll.
Was soll ich in ( ) eintragen?

preg_match_all ( 016, $ausgabe, preg_pattern_order);

um alle Nummern mit 016 zu kriegen?

Und wie bekomme ich das hin, das er jeden Wert berücksichtigt, weil wenn ich
preg_match_all benutze, kriege ich ja arrays die da Lauten: $antwort[0][01]
und ich kenne ja die genaue Anzahl an Werten garnicht.
 
Du kannst mit [phpf]explode[/phpf] und dem Trennchar "\n" erstmal aus dem String ein Array machen, in dem jedes Arrayelement eine Zeile darstellt.
Dann machst Du mit [phpf]foreach[/phpf] mit jedem Arrayelement [phpf]explode[/phpf] mit dem Leerzeichen als Trennchar. Dann erhältst Du ein Array in dem
Index 0 das Datum,
im Index 1 die Uhrzeit,
im Index 2 die Telefonnummer usw. kennzeichnet
Etwas verkürzt:
PHP:
$arr=explode("\n",$_POST['daten']);
$gebuehren=0;
foreach($arr as $a) {
 $datensatz=explode(" ",$a);
 //in $datensatz[0] steht das Datum usw.
 //Gebühren für dieses Gespräch ermitteln
 $gebuehren += $gebuehrenFuerDiesenDatensatz; 
}
 
das Problem ist, dass kein Absatz, also auch kein /n übertragen wird.
wenn ich
17.01.05 13:10 01799097079 FON 1 0:06
17.01.05 12:41 01778983039 FON 1 0:01
17.01.05 12:40 01778983039 FON 1 0:01
17.01.05 12:33 01606584862 FON 1 0:01

ins textarea eintrage und versende, dann bekomme ich ein array, welches wenn ich es anzeigen lasse folgendes ausgibt:
17.01.05 13:10 01799097079 FON 1 0:06 17.01.05 12:41 01778983039 FON 1 0:01 17.01.05 12:40 01778983039 FON 1 0:01 17.01.05 12:33 01606584862 FON 1 0:01

also alles in einer Reihe.
Habt ihr noch Vorschläge?
 
Klar wird da ein \n übertragen.
Man man man man bin ich heut wieder nett:
Splitte nach \n dann hast jeden Eintrag in nem Arrayelement. Das gehts durch und splitest dann nach ' ' und schon hast dann jeden einzelnen Wert.
 
Habe das jetzt gemacht, und es wird wirklich kein /n übertragen,
daran sichtbar das bei $arr = explode("/n", $_POST['daten']);
gibt $arr[0] folgendes zurück:
17.01.05 13:10 01799097079 FON 1 0:06 17.01.05 12:41 01778983039 FON 1 0:01 17.01.05 12:40 01778983039 FON 1 0:01 17.01.05 12:33 01606584862 FON 1 0:01 17.01.05 13:10
also den gesamten String, der ist nirgends exploded. leider
 
Zurück