Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/08/2010, 15:01
Avatar de portalmana
portalmana
 
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 7 meses
Puntos: 80
Respuesta: leer archivos con php

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
  1. $patron = '/^\{.*\{([0-9]+)\}.*\}$/';
  2. $datos  = '{PROM}{}{2}{dato2}{dato3}{\{dato4\}}{dato5}{da to6}{41}{dato7}{}';
  3. $id = array();
  4. preg_match($patron, $datos, $id);
  5. 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
  1. $patron = '/^\{.*\{id:([0-9]+)\}.*\}$/';
  2. $datos  = '{PROM}{}{2}{dato2}{dato3}{\{dato4\}}{dato5}{da to6}{id:41}{88}{}';
  3. $id = array();
  4. preg_match($patron, $datos, $id);
  5. 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
  1. $patron = '/^\{.*\{([0-9]+)\}{.*\}{.*}$/';
Puedes usar ese patron
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp

Última edición por portalmana; 22/08/2010 a las 15:14