Bueno la parte de sacar el id con expresiones regulares se resuelve...
Te dejo una ayuda...
No soy experto en esto pero algo salio...
Código PHP:
Ver original$patron = '/^\{.*\{([0-9]+)\}.*\}$/';
$datos = '{PROM}{}{2}{dato2}{dato3}{\{dato4\}}{dato5}{da to6}{41}{dato7}{}';
echo $id[1];
Bueno el problema es que te retornaría el ultimo numero encontrado entre llaves es decir si después del id tienes enteros te retornaría este ultimo y no el que andabas buscando.
Si puedes modificar el string y el id ser {id:45} ahi podriamos mejorarlo..
Código PHP:
Ver original$patron = '/^\{.*\{id:([0-9]+)\}.*\}$/';
$datos = '{PROM}{}{2}{dato2}{dato3}{\{dato4\}}{dato5}{da to6}{id:41}{88}{}';
echo $id[1];
Bueno en cuanto a leer un archivo es sencillo...la
funcion file te guarda un archivo en una matriz linea por linea o sea cada fila de la matriz va a ser una linea de tu archivo... recorres el arreglo y extraes los ids
P.D.: no utilices ereg para expresiones regulares pues esta obsoleta.
Si tu patron no cambia y es tal cual el de arriba:
Código PHP:
Ver original$patron = '/^\{.*\{([0-9]+)\}{.*\}{.*}$/';
Puedes usar ese patron