Foros del Web » Programando para Internet » PHP »

Expresiones regulares

Estas en el tema de Expresiones regulares en el foro de PHP en Foros del Web. Hola, bueno el asunto es asi. Supongan que tengo una cadena con el siguiente texto de fantasia Hola me llamo [TAG]Juan[/TAG] y [TAG]Pedro[/TAG] y somos ...
  #1 (permalink)  
Antiguo 12/09/2009, 12:05
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
De acuerdo Expresiones regulares

Hola, bueno el asunto es asi.

Supongan que tengo una cadena con el siguiente texto de fantasia

Hola me llamo [TAG]Juan[/TAG] y [TAG]Pedro[/TAG] y somos amigos de [TAG]Carlos[/TAG]

ENtonces, yo quiero recolectar los 3 nombres Juan, Pedro, y Carlos

Lo que yo hice fue lo siguiente

Código php:
Ver original
  1. preg_match("/\[TAG\](.*)\[\/TAG\]/", $string_subject, $matches);

El asunto es que eso me devuelve como resultado el contenido entre LA PRIMER APARICION DE [TAG] Y LA ULTIMA APARICION DE [/TAG] (logico no ? si nos basamos en mi expresion jaja)

Lo que yo hice fue, a ese resultado, splitarlo con preg_split, pero, o sea, creo que no es una forma optima : quisiera saber si hay alguna forma de hacer esto directamente sobre el patron de la expresion regular.

Gracias de antemano
  #2 (permalink)  
Antiguo 12/09/2009, 12:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Expresiones regulares

mmm... para eso existe preg_match_all() !!!

además, también puedes agregar el modificador U para hacer mas "precisa" la expresión...

lee lo siguiente:
http://www.forosdelweb.com/f18/aport...s-pcre-646110/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 12/09/2009, 16:37
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
Respuesta: Expresiones regulares

jajajajajaja pateke! me haces quedar mal! jajajaj conocia esa funcion pero hacia tanto que no la usaba que ya no me acordaba que existia

XD gracias amigo! hacia mucho que no andaba por el foro! espero que anden todos bien

Gracias por la ayuda


PD: Por si a alguno le hace falta me quedo asi el codigo


Código php:
Ver original
  1. preg_match_all("|\[TAG\](.*)\[\/TAG\]|U", $string_subject, $matches);
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:29.