D@ve: Reguläre Ausdrücke

Hallo
Ich programmiere für ein CMS das ich Programmiere eine Art UBB-Code.

Bei einen Ausdruck wie
[img=5]text[/img]

möchte ich die Zahl 5 über preg_match_all isolieren und in ein Array speichern, da ich den zugehörigen Bildpfad aus einer Datenbank auslesen will und dass ganze durch einen HTML-IMG-Tag ersetzen will.

Ich experimentiere jetzt seit stunden und komme egal was ich mache nur soweit, dass ich [img=5] isoliert kriege:

preg_match_all("=[img=[^]]+]= siU", $string, $ergebnis-array);

Wie kann ich beispielsweise die kette "[img=]" aus dem Ergebnis auschließen, so dass sie aber trotzdem gematcht wird.

Vielen Dank für die Hilfe
     Müde Grüße,
           D@ve

  1. [img=5]text[/img]

    Wie kann ich beispielsweise die kette "[img=]" aus dem Ergebnis
    auschließen, so dass sie aber trotzdem gematcht wird.

    subpatterns - eingeschlossen in runde Klammern - sind Deine Freunde.

    $string='Hier kommt [img=5]ein Bild[/img].';
    preg_match('/[img=(\d+)](.*?)[/img]/',$string,$matches);
    print_r($matches);

    Array
    (
        [0] => [img=5]ein Bild[/img]
        [1] => 5
        [2] => ein Bild
    )

    1. Vielen Dank für den Tip,
      hat funktioniert. *seufz erleichtert*