O con un'espressione regolare, ma non sono molto pratico, oppure con due explode, anche se non è molto elegante:

$stringa = "1>28-31";
$ex1 = explode(">",$stringa);
$ex2 = explode("-",$ex1[1]);

$mese = $ex1[0];
$giorno_inizio = $ex2[0];
$giorno_fine = $ex2[1];