• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

replace Platzhalter

Status
Für weitere Antworten geschlossen.

Durek

Neues Mitglied
Hallo =)
Auf meiner Seite wird das Registrierungsdatum komplett in der Datenbank gespeichert. Letztens im Matheunterricht kam ich dann auf eine Idee... ich muss Datum in Monat und Jahr aufteilen und erstelle mithilfe der GD-Library ein Diagramm (so ähnlich wie ein Klimadiagramm^^) dabei wird abgefragt, wieviele Mitglieder sich im Januar, Februar, März, usw. angemeldet haben.

Nun meine Absicht...

im PHPmyAdmin alles zu ändern dauert ewig also brauche ich ein PHP Script.

eine Schleife aus der Datenbank ist offen und das Datum könnte bspw. "Freitag, den 15.12.2006 um 19:56 Uhr" lauten. Hierbei möchte ich die "*" als x-beliebigen platzhalter verwenden.. (also hier im Beispil mit *..wie es richtig geht will ich ja wissen)

Code:
$row[regdate]= str_replace("*, den","",$row[regdate]); // Anfang löschen.
$row[regdate]= str_replace("um * Uhr","",$row[regdate]); // Ende löschen
jetzt sollte beim Beispiel folgendes rauskommen:
15.12.2006
Code:
$year= str_replace("*.*.","",$row[regdate]); // Das Jahr ist raus

$month= str_replace(".$year","",$row[regdate]); // Jahr ist rausgeschnitten
$month= str_replace("*.","",$month); // Monat ist raus.
so fertig mit denken xD

$year ist nun 2006
$month ist jetzt 12
der rest wurde weggeschnitten.

ok, wie benutze ich einen Platzhalter, wie ich ihn hier mit "*" gemacht habe?
danach amche ich einen Update der jeweiligen Zeile aber das lasst meine Sorge sein.
 
ok, wie benutze ich einen Platzhalter, wie ich ihn hier mit "*" gemacht habe?
danach amche ich einen Update der jeweiligen Zeile aber das lasst meine Sorge sein.

Das geht mit regulären Ausdrücken (preg_replace). Oder aber du zerlegst den String selber. Also . suchen, bis Punkt abschneiden, usw.


N43
 
Das geht mit regulären Ausdrücken (preg_replace). Oder aber du zerlegst den String selber. Also . suchen, bis Punkt abschneiden, usw.


N43

wie wär es, wenn du mal ein Beispiel schreibst? komm so nicht damit klar.

edit: ich will jetzt nur wissen, was ich als belibigen Platzhalter nehmen kann (meinetwegen auch nur 1 Ziechen, da die Länge klar ist)
 

404... nicht vefügbar

edit: nicht htm sondern html xD ok ich schaus mir an

edit2: ich sag ganz klar, dass da für mich nix brauchbares steht. Kalr das Ergebnis wird sicher stimmen aber ich kriegs nciht hin... Da kann mir nicht zufällig einer das Script zusammenbasteln, was ich brauche und ich schau mir dieses an. Da weiß ich wenisgtens, was genau passiert.

edit3: endlich hab ich es raus xD hab einfach auf ner anderen Seite geguckt und mir das so gebastelt wie ich dahcte. due Seite auf tut.php-q.net hat mich verwirrt.
 
Zuletzt bearbeitet:
Damit das thema nich nochmal kommt:

Code:
$row[regdate] = "Freitag, den 15.12.2006 um 19:56 Uhr";

$row[regdate] = preg_replace("/(.*)(, den)/is", "", $row[regdate]); // Anfang löschen
$row[regdate] = preg_replace("/(um)(.*)( Uhr)/is", "", $row[regdate]); // Ende löschen
$yearedit = preg_replace("/(.*)(\.)(.*)(\.)(.*)/is", "\\5", $row[regdate]);  // Jahr ermitteln
$monthedit = preg_replace("/(.*)(\.)(.*)(\.)(.*)/is", "\\3", $row[regdate]); // Monate rmitteln


echo "".$yearedit." <-> ".$monthedit."";
DIe Funktion ist echt supi xD jetzt hab ich wieder ne tolle FUnktion gelernt^^ BB-Codes so leicht gemacht xD
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben