Parece correcto. ¿Estás seguro que la variable $texto está instanciada cuando entras a esta función?
Dos cosas que no sé si son correctas,
tienes un espacio al final de la cadena de formato del sscanf:
Y tienes un espacio en la variable $hora:
Código:
$salida=$anio.$guion.$mes.$guion.$dia.$espacio.$ho ra.$puntos.$min.$puntos.$seg;