Foros del Web » Programando para Internet » PHP »

Extraer cadena entre [img] [/img] dentro de un texto

Estas en el tema de Extraer cadena entre [img] [/img] dentro de un texto en el foro de PHP en Foros del Web. Buenas Quiero extraer todas las cadenas que se encuentre entre las etiquetas [img] [/img] dentro de un texto. Hay que tener en cuenta que en ...
  #1 (permalink)  
Antiguo 02/07/2008, 13:37
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
De acuerdo Extraer cadena entre [img] [/img] dentro de un texto

Buenas

Quiero extraer todas las cadenas que se encuentre entre las etiquetas [img] [/img] dentro de un texto.
Hay que tener en cuenta que en el texto puede haber varias etiquetas y por lo tanto varias cadenas que extraer.

Hasta ahora lo había hecho por un método un poco rudimentario, cortando el texto hasta la primera etiqueta, luego cogiendo lo que hay hasta la segunda... volviendo a examinar el texto restante y eliminar lo que hay hasta la primera... y así sucesivamente.

Me imagino que hay algún modo más rápido y sencillo de poder hacerlo y me preguntaba si alguno de vosotros tendría alguna idea.

Muchas gracias de antemano,
Saludos.
  #2 (permalink)  
Antiguo 02/07/2008, 13:41
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Extraer cadena entre [img] [/img] dentro de un texto

claro... se le llaman expresiones regulares

fácilmente puedes hacer esto

Código PHP:
preg_match_all('/\[foo\](.+?)\[\/foo\]/'$texto$test);

// todo se almacena en $test
print_r($test); 
igual, te sugiero investigues mas acerca de esto.... regex

Referencias:

http://php.net/preg_match_all
http://php.net/preg_replace
http://php.net/preg_match
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 02/07/2008, 14:30
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Respuesta: Extraer cadena entre [img] [/img] dentro de un texto

Muchas gracias pateketrueke ;)

Para imprimirlo uso:
$test[1][0]
$test[1][1]
$test[1][2]
....
etc

Saludos.
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 21:02.