Foros del Web » Programando para Internet » PHP »

buscar y sacar imagen de una cadena

Estas en el tema de buscar y sacar imagen de una cadena en el foro de PHP en Foros del Web. Hola a todos quisiera crear una función que busca una imagen en una cadena usando expresiones regulares como en los bbcodes, ejemplo mi cadena es: ...
  #1 (permalink)  
Antiguo 19/02/2012, 11:28
 
Fecha de Ingreso: septiembre-2011
Mensajes: 106
Antigüedad: 12 años, 6 meses
Puntos: 19
Pregunta buscar y sacar imagen de una cadena

Hola a todos quisiera crear una función que busca una imagen en una cadena usando expresiones regulares como en los bbcodes, ejemplo

mi cadena es: lorem ipsum [img*]http://dominio/imagen.jpg[/img*] lorem ipsum

una ves encontrada la imagen quisiera sacarla de la cadena e imprimirla en un bloque (div) separado.

Alguien sabe como podría hacerlo?

..::EDITADO::..

Bueno encontre lo que busque:

Código PHP:
Ver original
  1. function get_first_image_thumb()
  2. {
  3.     // Recuperamos el post
  4.     $Html = strtolower(get_the_content());
  5.  
  6.     // Extraemos todas las imagenes
  7.     $extrae = '/<img .*src=["\']([^ ^"^\']*)["\']/';
  8.  
  9.     // Extraemos todas las imágenes
  10.     preg_match_all( $extrae  , $Html , $matches );
  11.  
  12.     // donde
  13.     // [1] -> segundo elemento del array "texto/imagenes"
  14.     // [0] -> primera imagen del array de "imagenes"
  15.     $image = $matches[1][0];
  16.  
  17.     if($image)
  18.     {
  19.         echo '<div class="entry-thumb"/>
  20.              <img src="'.$image.'" alt="" />
  21.              </div>';
  22.     } else {
  23.         return false;
  24.     }
  25. }

Esta función busca y selecciona la primera imagen que encuentra dentro de un post, como lo hace Wordpress

Saludos...

Última edición por ILuzbel; 19/02/2012 a las 11:55

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 01:35.