Foros del Web » Programando para Internet » PHP »

Duda con buscar palabras e imprimirlas

Estas en el tema de Duda con buscar palabras e imprimirlas en el foro de PHP en Foros del Web. Gente, Tengo una variable con el siguiente valor. $variablecadena = ' Imagen1="casa.jpg"; Otra imagen es la dos. Imagen2="piso.jpg" '; Necesito que busque todas aquellas cadenas ...
  #1 (permalink)  
Antiguo 05/07/2009, 10:25
 
Fecha de Ingreso: mayo-2003
Mensajes: 312
Antigüedad: 20 años, 10 meses
Puntos: 2
Duda con buscar palabras e imprimirlas

Gente,

Tengo una variable con el siguiente valor.

$variablecadena = '
Imagen1="casa.jpg";
Otra imagen es la dos.
Imagen2="piso.jpg"
';

Necesito que busque todas aquellas cadenas terminadas en JPG y que las imprima,
quedando:

casa.jpg

piso.jpg

Tienen alguna idea. Yo... He probado de todo y buscado aun mas, y nada. No logro hacerlo. Agradecería su ayuda.

Dago
  #2 (permalink)  
Antiguo 05/07/2009, 10:32
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
Respuesta: Duda con buscar palabras e imprimirlas

Podrias utilizar expresiones regulares http://www.php.net/manual/es/ref.pcre.php
o utilizar este metodo.

$cadena = 'hola.jpg';

$nuevaCadena= substr ( $cadena, strlen( $cadena )-3, strlen( $cadena ) );

echo $nuevaCadena; // jpg

No lo probe, solo es una idea, pero seria mejor utilizar expresiones regulares...
  #3 (permalink)  
Antiguo 05/07/2009, 10:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Duda con buscar palabras e imprimirlas

¿Buscar en todas las variables o sólo en algunas específicias?

Puedes usar substr() para extraer sólo la extensión y ver si es jpg (Véase: http://www.php.net/substr)

EDITO: Veo que acoevil ha respondido también. Yo por el contrario, pienso que en este caso es innecesario usar expresiones regulares (es más lento). Además, se puede especificar un índice negativo a substr():
Código PHP:
Ver original
  1. $cadena = 'hola.jpg';
  2. if (susbstr($cadena, -3) == "jpg") {
  3.     echo $cadena;
  4. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 05/07/2009, 10:37
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Duda con buscar palabras e imprimirlas

Debes usar expresiones regulares. Asegurate de agregar todos los caracteres posibles para un nombre de archivo en el rango.

Código php:
Ver original
  1. <?php
  2.  
  3. $variablecadena = '
  4. Imagen1="casa.jpg";
  5. Otra imagen es la dos.
  6. Imagen2="piso.jpg"
  7. ';
  8.  
  9. preg_match_all("/([a-z0-9_-]+)\.jpg/i", $variablecadena, $matches);
  10.  
  11. var_dump($matches);
  12.  
  13. ?>
  #5 (permalink)  
Antiguo 05/07/2009, 10:44
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
Respuesta: Duda con buscar palabras e imprimirlas

Cita:
Iniciado por David Ver Mensaje
¿Buscar en todas las variables o sólo en algunas específicias?

Puedes usar substr() para extraer sólo la extensión y ver si es jpg (Véase: http://www.php.net/substr)

EDITO: Veo que acoevil ha respondido también. Yo por el contrario, pienso que en este caso es innecesario usar expresiones regulares (es más lento). Además, se puede especificar un índice negativo a substr():
Código PHP:
Ver original
  1. $cadena = 'hola.jpg';
  2. if (susbstr($cadena, -3) == "jpg") {
  3.     echo $cadena;
  4. }
Ok gracias por el dato jeje no se porque no se me paso por la cabeza hacerlo como tu.
  #6 (permalink)  
Antiguo 05/07/2009, 10:46
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Duda con buscar palabras e imprimirlas

xD Yo he interpretado el tema de otra manera, si no me equivoco creo quiere tomar todos los nombres de archivos .jpg en X cadena.
  #7 (permalink)  
Antiguo 05/07/2009, 10:51
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
Respuesta: Duda con buscar palabras e imprimirlas

Si es que no se entiende bien la cosa.. ejje
  #8 (permalink)  
Antiguo 06/07/2009, 09:14
 
Fecha de Ingreso: mayo-2003
Mensajes: 312
Antigüedad: 20 años, 10 meses
Puntos: 2
Respuesta: Duda con buscar palabras e imprimirlas

Gente,
Gracias por haberse tomado el tiempo de contestar.
Vuelvo a plantear lo mismo de antes.

Supongamos que tengo una variable cuyo contenido es...

$variable = "Hay un archivo llamado casa.jpg, otro llado ventana.jpg y otro llamado puerta.jpg".

Lo que YO necesitaria es sacar o imprimir:
- casa.jpg
- ventana.jpg
- puerta.jpg

El problema es que eso es variante...

Es decir, que una vez el contenido puede ser:

$variable = "Hay un archivo llamado casa.jpg, otro llado ventana.jpg y otro llamado puerta.jpg".

Y OTRA VEZ

$variable = "Hay un archivo llamado techo.jpg, otro llado marco.jpg y otro llamado piso.jpg".

Sin importar los JPG a extraer, que como dije, son variantes, necesitaria que me imprimiera en pantalla los nombres con esas extensiones.

Se entiende?! Miles de gracias.
  #9 (permalink)  
Antiguo 06/07/2009, 10:57
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Duda con buscar palabras e imprimirlas

En ese caso, si la cadena puede variar, conviene usar expresiones regulares. Por ejemplo: /^\s+\.jpg/ (no lo he probado) usado con preg_match_all() podría servir.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 04:28.