Foros del Web » Programando para Internet » PHP »

Duda con preg_match

Estas en el tema de Duda con preg_match en el foro de PHP en Foros del Web. Tengo la siguiente linea de codigo en php Código PHP: preg_match ( '<img.*?src="(.*?)\".*?>' ,  $row [ '3' ], $img );  donde $row['3'] es el resultado ...
  #1 (permalink)  
Antiguo 07/01/2010, 12:12
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 3 meses
Puntos: 6
Duda con preg_match

Tengo la siguiente linea de codigo en php
Código PHP:
preg_match('<img.*?src="(.*?)\".*?>'$row['3'],$img); 
donde $row['3'] es el resultado de lo que contiene un campo de la base de datos que guada el contenido de una noticia.

si imprimo el contenido del arreglo de esta porfa me arroja lo siguiente
print_r($img);
me arroja el siguiente resultado

Código PHP:
Array ( [0] => img alt="Articulo" src="./modulos/mod_editor/uploads/carpetas/21232f297a57a5a743894a0e4a801fc3/para%20articulo%20foto1.JPG"
Cual seria la modificacion en la expresion regular para que solamente me arrojara el valor del src= sin comillas
/modulos/mod_editor/uploads/carpetas/21232f297a57a5a743894a0e4a801fc3/para%20articulo%20foto1.JPG
__________________
"Diseño de software a la medida"

http://www.sadhoc.com
  #2 (permalink)  
Antiguo 07/01/2010, 12:20
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
preg_match('/src="([^"]+)"/i', $row['3'],$img);

intenta asi

si funciona lo revise recien
Código PHP:
Ver original
  1. $text = ' img alt="Articulo" src="./modulos/mod_editor/uploads/carpetas/21232f297a57a5a743894a0e4a801fc3/para%20articulo%20foto1.JPG"';
  2. preg_match('/src="([^"]+)"/i', $text,$match);
  3. print_r($match[1]);
__________________
More about me...
~ @rhyudek1
~ Github

Última edición por GatorV; 08/01/2010 a las 11:43
  #3 (permalink)  
Antiguo 07/01/2010, 12:32
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Duda con preg_match

Gracias, si funciona, pero si lo que necesito solo es el contenido del src, que puedo modificar, disculpa por mi ignorancia, pero no logro comprender bien las expresiones regulares.

Código HTML:
Ver original
  1. /modulos/mod_editor/uploads/carpetas/21232f297a57a5a743894a0e4a801fc3/para%20articulo%20foto1.JPG
__________________
"Diseño de software a la medida"

http://www.sadhoc.com
  #4 (permalink)  
Antiguo 07/01/2010, 12:35
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Duda con preg_match

intenta copiar y pegar el codigo que puse .. te daras cuenta de que solo te devuelve eso que pides
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 07/01/2010, 12:40
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Duda con preg_match

Código PHP:
Ver original
  1. <?php
  2. $patter = '<img.*?src="(.*?)".*?>';
  3. $str = '<img alt="Articulo" src="./modulos/mod_editor/uploads/carpetas/21232f297a57a5a743894a0e4a801fc3/para%20articulo%20foto1.JPG">';
  4. preg_match($patter, $str, $img);
  5.  
  6. print_r($img);
  7. ?>

Uso php5 y en array, me despliega lo siguiente:
Código:
Array
(
    [0] => img alt="Articulo" src="./modulos/mod_editor/uploads/carpetas/21232f297a57a5a743894a0e4a801fc3/para%20articulo%20foto1.JPG"
    [1] => ./modulos/mod_editor/uploads/carpetas/21232f297a57a5a743894a0e4a801fc3/para%20articulo%20foto1.JPG
)
Lo único que corregí fue un escape que andaba por allí.
  #6 (permalink)  
Antiguo 07/01/2010, 12:41
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Duda con preg_match

:S, me sale esto, en array[0] tiene src, y en array[1] sale sin src
Código PHP:
Ver original
  1. Array ( [0] => src="./modulos/mod_editor/uploads/carpetas/21232f297a57a5a743894a0e4a801fc3/para%20articulo%20foto1.JPG" [1] => ./modulos/mod_editor/uploads/carpetas/21232f297a57a5a743894a0e4a801fc3/para%20articulo%20foto1.JPG )
Con dos imagenes
__________________
"Diseño de software a la medida"

http://www.sadhoc.com
  #7 (permalink)  
Antiguo 07/01/2010, 12:43
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Duda con preg_match

preg_match te devuelve en 0 la cadena completa y en 1 hacia adelante los resultados que da la expresión regular..

lee la documentación preg_match()
__________________
More about me...
~ @rhyudek1
~ Github
  #8 (permalink)  
Antiguo 07/01/2010, 12:50
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Duda con preg_match

ok, con eso gracias y disculpa la molestia hidek1
__________________
"Diseño de software a la medida"

http://www.sadhoc.com
  #9 (permalink)  
Antiguo 07/01/2010, 12:51
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Duda con preg_match

no hay problema para eso estamos
__________________
More about me...
~ @rhyudek1
~ Github

Etiquetas: Ninguno
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 12:26.