Siechfred: Teil eines Strings auslesen / reguläre Ausdrücke?

Beitrag lesen

Tag Patrick.

// Aus diesem String soll 'dieses_bild.gif' extrahiert werden bzw. einer Variablen zugeordnet werden, um zu überprüfen, ob das Bild auch vorhanden ist und ggf. die Größe zu ermitteln.
$string = "[bild]dieses_bild.gif[/bild]";

Versuche zuerst, den String in seine Bestandteile zu zerlegen:

1. [bild] - muss sein, kann sich nicht ändern
2. Grafik-URL - kann alles mögliche sein
3. [/bild] - wie 1.

Jetzt das Ganze in "RegExp-Sprache" übersetzen (es gibt eigentlich nur ein paar Regeln). Denke daran, dass bestimmte Zeichen reserviert sind, die musst du mittels Backslash maskieren. Das ergibt bis hierher:

1. "[bild]"
3. "[/bild]"

Jetzt musst du dir noch den Teilausdruck merken, der die Grafik-URL enthält. Den Ausdruck selber kann man zunächst (im Vertrauen auf die Intelligenz der Nutzer) ganz allgemein halten, er kann nämlich ein beliebiges Zeichen beliebig oft enthalten, dabei soll der Ausdruck beim nächsten Vorkommen von 3. enden (siehe gierige und genügsame Suchmuster):

2. (.+?)

Am Mittelteil solltest du noch etwas feilen, da sonst zuviel Müll drinstehen könnte, Stoff zum Nachlesen hast du ja jetzt :-) Das ganze mit den nötigen Modifiern versehen und in einer entsprechenden PHP-Funktion (z.B. preg_match) eingesetzt, sollte eigentlich funktionieren.

Siechfred