Lo único que se me ocurre es separar horas minutos y segundos dividirlos por separado. No se si hay algo para hacer eso. Y si es cero que no divida claro.
Código PHP:
$tiempo = "42:10:10";
$horas = substr($tiempo,0,2);
$minutos = substr($tiempo,1,2); //nos saltamos los : puntos
$segundos = substr($tiempo,1,2); //nos saltamos los : puntos
Y el resto ya está tirado. Lo hice de memoria igual metí la gamba!