Con expresiones regulares... usando split().. por ejemplo:
Código PHP:
<?
$fecha = "30-12-2005 01:54";
list( $dia, $mes, $anno, $hora, $minuto ) = split( "[-/[:space:]:]", $fecha);
echo "Formato original: $fecha<br>";
echo "Formato adecuado: <b>$anno-$mes-$dia $hora:$minuto</b>";
?>
Que eso no signifique que no pueda hacerse con explode().
Saludos!