Hi php-Profis !
ich versuche, mit preg_match_all einen bestimmten String zu zerschnibbeln. Der String sieht etwa so aus:
für mich besonders schwierig: Das (3D) kann - muss aber nicht - hinter der Uhrzeit stehen.
Mein Versuch:
funktioniert eigentlich:
aber nicht wenn die letzte (3D) Angabe nicht da ist. Demnach wird
falsch zerschnibbelt und gibt:
die letzte zeit fehlt also und landet in der 2.ten Bezeichnung:
Mein nächster Versuch, das (3D) extra zu gruppieren:
haut nicht hin. Kann mir jemand verklickern, wie es richtig sein muss ?
Ich sage schon mal
ich versuche, mit preg_match_all einen bestimmten String zu zerschnibbeln. Der String sieht etwa so aus:
CinemaxX >14:00 (3D) 17:10 (3D) 20:00 (3D) 22:00 (3D) Cinespace >12:30 (3D) 14:00 15:00 (3D) 17:30 (3D) 19:30 20:15 (3D) 22:45 (3D)
Mein Versuch:
PHP-Code:
preg_match_all("/(?<Kino>[^>]*)>(?<Zeiten>(([0-9][0-9]:[0-9][0-9].?)*\(.+?\).?)*)/",$a,$treffer,PREG_SET_ORDER)
[Kino] => CinemaxX
[Zeiten] => 14:00 (3D) 17:10 (3D) 20:00 (3D) 22:00 (3D)
[Zeiten] => 14:00 (3D) 17:10 (3D) 20:00 (3D) 22:00 (3D)
CinemaxX >14:00 (3D) 17:10 (3D) 20:00 (3D) 22:00 Cinespace >12:30 (3D) 14:00 15:00 (3D) 17:30 (3D) 19:30 20:15 (3D) 22:45
[Kino] => CinemaxX
[Zeiten] => 14:00 (3D) 17:10 (3D) 20:00 (3D)
[Zeiten] => 14:00 (3D) 17:10 (3D) 20:00 (3D)
[Kino] => 22:00 Cinespace
[Zeiten] => 12:30 (3D) 14:00 15:00 (3D) 17:30 (3D) 19:30 20:15 (3D)
[Zeiten] => 12:30 (3D) 14:00 15:00 (3D) 17:30 (3D) 19:30 20:15 (3D)
PHP-Code:
preg_match_all("/(?<Kino>[^>]*)>(?<Zeiten>(([0-9][0-9]:[0-9][0-9].?)+(\(.+?\))?.)*)/"
Ich sage schon mal
Kommentar