Hallo zusammen,
ich beschäftige mich gerade mit Regular Expressions und stehe vor folgendem Problem:
Ich möchte Prüfen, ob in einem String folgender Tag auftaucht:
<bild/79>
Der Tag kann allerdings auch folgende Formen annehmen:
<bild/0079>
<bild/46,79>
<bild/79/unterschrift>
<bild/046,0079/unterschrift>
Nun übergebe ich als Suchstring nur die 79 und möchte immer ein TRUE, wenn die ID 79 (mit oder ohne vorangestellte Nullen) im Tag angegeben ist.
Hinter der 79 muss also ein Slash, Komma oder Eckigeklammerzu sein,
und vor der 79 muss <bild/ und eventuell Nullen bzw Zahl,Zahl,Nullen etc. stehen.
Meine Abfrage sieht wie folgt aus:
preg_match("/\<bild[(\/)(\/0)(\/00)(\/000)(.*\,)(.*\,0)(.*\,00)(.*\,000)]".$q."[\>\/\,]/iU",$string);
Leider ist das so nicht richtig. Also meine Gedankengang war der:
<bild muss immer davor stehen.
dann habe ich zwischen [] unterschiedliche Alternativen in () gesetzt, was eben vor der 79 ($q) kommen kann.
Hinter der 79 muss eines der 3 Zeichen >/, stehen.
Kann mir jemand helfen, wo ich da genau die Syntax falsch verstanden habe?
Vielen Dank
Sandra