Ver Mensaje Individual
  #6 (permalink)  
Antiguo 10/12/2007, 11:54
Avatar de qwerty_wq
qwerty_wq
 
Fecha de Ingreso: enero-2005
Mensajes: 109
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: Duda con expresiones regulares

Bueno, el problema es muy simple (no sé si sencillo). Tengo una etiqueta de apertura y otra de cierre con esta forma:

Código:
#1#Contenido de la etiqueta@1@
Evidentemente, para leer esto sólo haría falta hacer:

Código:
preg_match('/#1#([^@]*)@1@/', $fichero_xml, $resultados);
Obviamente se escaparían los caracteres necesarios, pero ése no es el problema. Supongamos que ahora queremos leer el siguiente contenido:

Código:
#1#Mi email es [email protected]@1@
La expresión regular anterior no vale, porque en el contenido de la matriz se incluye el carácter @ que invalida el patrón. Por lo tanto el problema tiene lugar cuando dentro del contenido hay uno de los caracteres de la etiqueta de cierre. Lo ideal sería que la expresión regular dijera algo como lo que sigue:

Cita:
La cadena #1# seguida de varios caracteres que no formen @1@ hasta que se encuentre @1@
Pues eso es lo que quiero hacer, y que no encuentro el modo de conseguirlo.

Un saludo y muchas gracias a todos los que han contestado

A ver si se os ocurre algo