If it's useful...
<?
$p="0 day(s), 1 hour(s), 28 minute(s), 55 second(s)";
$c=array("day", "hour", "minute", "second");
$r=array();
while (list($i, $d)=each($c)) {
if ($i>0) {
$m=strpos($p, $c[$i-1]."(s), ")+strlen($c[$i-1]."(s), ");
} else {
$m=0;
}
$n=strpos($p, " ".$d)-$m;
$r[$d]=substr($p, $m, $n);
}
print_r($r);
?>
This of course requires consistent $p formatting, and the array can be modified to suit additional consistent attributes. May not be as forgiving as RegExp though.