Reguläre Ausdrücke
D@ve
- php
0 Bernhard Mecl0 D@ve
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
[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
)
Vielen Dank für den Tip,
hat funktioniert. *seufz erleichtert*