Foros del Web » Programando para Internet » PHP »

coger una cadena de otra cadena

Estas en el tema de coger una cadena de otra cadena en el foro de PHP en Foros del Web. Hola a todos!! Estoy intentando hacer lo siguiente, pero no doy con el negocio. Se trata de esto: - Me pasan una cadena con código ...
  #1 (permalink)  
Antiguo 14/01/2010, 05:18
 
Fecha de Ingreso: febrero-2007
Mensajes: 16
Antigüedad: 17 años, 2 meses
Puntos: 0
coger una cadena de otra cadena

Hola a todos!!

Estoy intentando hacer lo siguiente, pero no doy con el negocio. Se trata de esto:

- Me pasan una cadena con código html. Ejemplo: <div class="clase">esto es una prueba <img src="images/imagen.gif" alt="imagen"/> para imagenes</div>
- Tengo que ver si esa cadena tiene imágenes y cuántas: eso lo consigo de la siguiente forma
if( $numimg = substr_count($codigo, 'img src') )
NOTA: si hay algo mejor para saber si hay y cuántas estoy abierto a todas las posibilidades.
- Si hay imágenes, tengo que cogerlas. Es decir, me tendría que quedar con images/imagen.gif

Con esto tendría resuelto parte del problema.

Muchas gracias de antemano
  #2 (permalink)  
Antiguo 14/01/2010, 06:07
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: coger una cadena de otra cadena

bueno para eso puedes utilizar la funcion
preg_match_all()
aparte de contar los resultados tambien puedes obtener los datos que necesites...

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 14/01/2010, 07:13
 
Fecha de Ingreso: febrero-2007
Mensajes: 16
Antigüedad: 17 años, 2 meses
Puntos: 0
Gracias por la respuesta. Voy a probar y os cuento.

La solución:

$pattern = '/src=[\'"]?([^\'" >]+)[\'" >]/';
preg_match_all($pattern, $contenido_html, $images);

echo $images[1][0];

Última edición por GatorV; 14/01/2010 a las 09:58

Etiquetas: cadenas
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 00:23.