Aus einem String zwei Uhrzeiten holen

Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

MasterJM

Erfahrenes Mitglied
Hallo,

ich habe ein PHP Problem, das ich derzeit noch nicht gelöst habe.
Aus einem String möchte ich zwei Uhrzeiten holen (Start und Ende einer Veranstaltung).

Der String sieht so aus:
Code:
title="wöchentlich Fr 8-10 Uhr 07.10.2019-05.04.2020: Blockung Blabla, BlaBla-Name, Herr XYZ" class="weekly">042222
Sprich ich möchte in eine Variable die 8 haben und in einer zweiten die 10.

Mit welcher Funktion und welchem RegEx kann ich das lösen?

"Uhr" taucht nur einmal im String auf, aber z.B. der "-" schon mehrmals. (Jedenfalls die Strings, die ich derzeit sehe kommen so rüber).

Habe in PHP keine große Erfahrung.
Danke.
 
PHP:
$re = '/\b(\d{1,2})-(\d{1,2}) Uhr/m';
$str = 'wöchentlich Fr 8-10 Uhr 07.10.2019-05.04.2020: Blockung Blabla, BlaBla-Name, Herr XYZ';

print_r($re, $str, $match);

var_dump ($match);
Code:
Array
(
    [0] => 8-10 Uhr
    [1] => 8
    [2] => 10
)
 
Omg, falsch korrigiert. Wollte den var_dump überschreiben...
PHP:
$re = '/\b(\d{1,2})-(\d{1,2}) Uhr/m';
$str = 'wöchentlich Fr 8-10 Uhr 07.10.2019-05.04.2020: Blockung Blabla, BlaBla-Name, Herr XYZ';

preg_match($re, $str, $match);

print_r ($match);
 
Danke.

Leider sehe ich gerade, gibt es auch Outputs, wo in der Zeile die Uhrzeit mit X:Y steht, also dann wenn es nicht die volle Stunde ist, z.B. 8:15-10:00 oder 8:30-11:00

Wie kann ich den RegEx dafür erweitern? Sonst läuft es bis dato prima.
 
Danke, habe es derzeit mit einer IF Abfrage gelöst, die sich den String anschaut und je nach Anzahl der : ein anderes RegEx nimmt.
Schaue mir das mal genauer an :)
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…
Zurück