Hallo Andreas,
Bis jetzt habe ich folgenden Code. Aber der funktioniert nicht. Kann mir jemand sagen woran es liegt?
ereg("^(.+)([0-9]+)$-(.jpg)$", $bildurl, $array1);
Erstens: ereg solltest Du nicht verwenden, da das 1. langsam ist, 2. nicht binärsicher und 3. nicht gerade viel kann. Verwende lieber die preg-Funktionen.
Zweitens: Bauen wir uns mal einen regulären Ausdruck zusammen:
http://www.domain.de/pics/0.jpg
^
Du willst diese Zahl hier extrahieren
Dann formulieren wir den Teil einfach mal:
([0-9]+)
Jetzt schauen wir uns das an, was drum herum ist:
.jpg -> in einem regulären Ausdruck wird das zu: (.jpg)
http://..../ -> nachdem das der komplette Rest der Zeichenkette ist, kannst Du auch getrost (.*) nehmen. Allerdings musst Du der .*-Konstruktion sagen, dass sie nicht zu viel fressen soll, daher ein (.*?)
-> der reguläre Ausdruck ist:
(.*?)([0-9]+)(.jpg)
Das ganze packen wir jetzt noch in eine schöne preg-Funktion:
$res = preg_match ('/(.*?)([0-9]+)(.jpg)/', $bildurl, $array1);
Und schon hast Du Dein Problem gelöst.
Viele Grüße,
Christian
PS: Ein paar Links zum Thema:
http://www.dclp-faq.de/q/q-regexp-ereg.html
http://de3.php.net/preg_match
http://de3.php.net/manual/de/pcre.pattern.modifiers.php
http://de3.php.net/manual/de/pcre.pattern.syntax.php
http://www.dclp-faq.de/q/q-regexp-gierig.html