- str_replace: documentation ( source)
- explode: documentation ( source)
<?php
$recur = 'FREQ=WEEKLY;BYDAY=TU';
$ex = explode(';', $recur);
$freq = str_replace('FREQ=','',$ex[0]);
$day = str_replace('BYDAY=','',$ex[1]);
$dates = [];
switch ($freq) {
case 'WEEKLY':
$date = new DateTime(); // set to correct day obvs
$dates[] = $date;
for ($x = 0; $x <= 52; $x ++) {
$date = clone $date;
$date->modify('+1 week');
$dates[] = $date;
}
break;
}
foreach($dates as $date) {
echo $date->format('Y-m-d')."\n";
}