Если вы просто хотите разделить строку на четыре части, то вы можете сделать это за один вызов preg_
, чтобы взорвать два разделителя.
Код: ( Демо )
$date_range_create_event = "Feb 13, 2019 03:00 PM - Mar 1, 2019 11:00 PM";
$parts = preg_split ("/ - | (?=\d\d:)/", $date_range_create_event);
var_export($parts);
Выход:
array (
0 => 'Feb 13, 2019',
1 => '03:00 PM',
2 => 'Mar 1, 2019',
3 => '11:00 PM',
)
Исходя из этого, вы можете использовать list()
или php7 + «деконструкция массива» для присвоения значений переменным.
В паттерне написано, что каждый раз, когда вы сталкиваетесь, делитесь:
- пробел, дефис, пробел или
- пробел (который заканчивается 2-х часовыми цифрами, а затем двоеточием). Предварительный просмотр
(?=...)
используется для того, чтобы временная подстрока не «использовалась» как часть подстроки разграничения в процессе.