Hallo IT-Frank,
Also, erst mal muss ich dir langsam aber sicher sagen: Deine 10 Postings _nerven_. Es ist viel, viel einfacher für mich, wenn du dir erst mal das anschaust, was ich gepostet habe, ausprobierst (meinetwegen), und dann zusammenschreibst, was dir einfällt. Du hast in jedem posting immer mal einen neuen einfall geschrieben, und das macht das ganze unübersichtlicher und die Möglichkeit, dir zu helfen, erschwert es (z.B. muss ich mir jetzt alles aus unterschiedlichen postings zusammensuchen).
Ich bitte dich also: Bitte schreibe mal nicht sooo viele postings.
Ach außerdem kannst du es ja gar nicht sooo eilig zu haben, denn du hast mir erst 40 Minuten später geantwortet.
so, und nun zum wesentlichen: ich werde mal "von oben nach unten" abbauen. Mein Script und die Fehler:
<?php
$datei = file("neue_aufgabe[...]");
// ^^^^^^^^^^^^^^^^^^
// Zu deiner Info: Hier soll lediglich der Dateiname hin, mehr nicht. DAs ist genauso wie bei dem ersten script.
$new = array();
foreach($datei as $eintrag)
{
preg_match("(\w \d\d) Prüfungen: \w (\d+), \w (\d+).", $matches);
// $matches[1] sollte jetzt z.B. "Mar 21" sein
// $matches[2] die Zahl der ersten Prüfung, z.B. 210
// $matches[3] die Zahl der zweiten prüfung, z.B. 40
$timestamp = strtodate($matches[1]);
// ^^^^^^^^^^
// Aua! Sorry, hier muss "strtotime" hin. Denn das macht aus dem string einen timestamp (ich werde es mal deines zeitmangels wegen nicht näher erklären)
$teilnehmer = $matches[2] + $matches[3];
$new[$timestamp] = $teinehmer;
}
$new = asort($new); // ksort = ältester termin zuerst, asort = neuster zuerst!
$counter = 1; //Zähler der dann hochzählt
$ausgabe = ""; // Endausgabe
foreach($new as $eintrag)
{
$ausgabe .= (strlen($counter) < count($datei) ? "0".$counter : $counter);
$ausgabe .= " ".$eintrag;
}
print $ausgabe;
?>
So, da hätten wir mal das erste "abgearbeitet".
Und dann deswegen: "Warning: Unknown modifier 'P' on line 8"
Das ist wegen meinem Regulären Ausdruck (preg_match). Der ist nämlich soweit recht falsch. Du musst wissen, dass ich nicht sooo gut in Regulären Ausdrücken bin, ich habe bis jetzt noch keine richtige deutsche doku gefunden :((. Also, verbessere mal die zeile mit preg_match auf das folgende:
preg_match("/(\w \d\d) Prüfungen: \w (\d+), \w (\d+)./i", $matches);
DAs müsste dann schon viel besser sein.
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
(TRENNLINIE),
und nun zum ERSTEN Script (bitte nicht verwechseln) - doch vorerst noch eine Frage:
___>> Bitte sage mir _endlich_, was deine gesamte Aufgabenstellung für die Aufgabe ist, die du morgen abgeben musst!!!
Ich habe übrigens nicht mehr so viel zeit... Um 20:15 kommt ein cooler Film im Fernsehen (RLT2), und entsprechend sollten wir uns vielleicht beeilen. Ich bin dafür, dass du in deinem Antwortposting 1. sagst was du insgesamt eigentlich willst und 2. die ergebnisse postest.
Ich bin nämlich ehrlich gesagt nicht dazu gekommen, die scripte zu testen, ich poste dir also hier nur dinge, von denen ich nicht weiß, ob sie so funktionieren (idr habe ich immer syntaxfehler drinnen, und dann noch ein paar logikfehler). Wenn du mir also endlich gesagt hast, was du willst, und mir die datei, die übrigens umgewandelt wird mal postetst (oder schicke sie mir per E-Mail), wäre das auch ganz super.
So, zum ersten:
Dein posting:
Hey WauWau
Warum bekomme ich im ersten Script als Ausgabe
0324 0324 0324
obwohl dort doch folgendes drin steht
12 Jan 2000 IT Vorbereitungen
16 Jun 2000 IT Prüfung
???
<?php
$datei = file('messages');
$new = "";
foreach($datei as $line)
{
$date = ""; $description = "";
$exp = explode(" ",$line);
foreach($exp as $index => $word) {
if($index <= 31)
$date .= " ".$word;
else
$description .= " ".$word;
}
$date = strtotime($date);
$new .= date("md")." ".$description;
}
print $new;
?>
Hmmmm ... "0324" sieht aus wie der 24.03. (ausgabe von date("md") wahrscheinlich). Ich würde es gerne mal bei mir ausprobieren, also ich denke, wir müssten es langsam aber sicher mal per e-mail machen
(ansonsten sind die hier sauer, weil du die prüfungsdaten postest ;-)
WauWau
PS: Ach ja, wenn dein Dozent/Proffessor das rausbekommt hier, dann bist du wegen täuschung dran...
+-- WauWau Selfcode
| ss:) zu:) ls:< fo:~ de:] va:) ch:° n4:# rl:( br:< js:| ie:% fl:| mo:|
+-- WauWau Nostalgie
| Die Bedeutung des Bellens ("WauWau") liegt ursprünglich darin, dass ein
| Gruppenfremder gewarnt oder ihm Alarm signalisiert wird.
+-- WauWau Heute
| Heutzutage ist die Bedeutung von "WauWau": Achtung, hier kommt "WauWau"!
| Die Bedeutung liegt hierbei auf den "Wau", und zwar auf beiden.
+-- WauWau E-Mail
| Coming soon...