Que bueno que te intereses. Yo ya lo resolví.
Mirando tu codigo, me pregunto si no será mejor parsear un texto así:
Cita: while (!feof($pagina)){
$texto[] =fgets($pagina,4096);
}
Entonces queda cada renglon en un espacio del array.
Igual, con lo de expresiones regulares todo va bien, y le tengo confianza. Lo digo por estudiar algo nomás.