Foros del Web » Programando para Internet » PHP »

Ayuda con expresiones regulares

Estas en el tema de Ayuda con expresiones regulares en el foro de PHP en Foros del Web. Hola a todos, tengo un String del tipo "/(directorios)/buscaminas.zip", el caso es que quiero que preg_replace me devuelva el nombre del fichero, es en este ...
  #1 (permalink)  
Antiguo 15/08/2009, 07:42
 
Fecha de Ingreso: diciembre-2005
Mensajes: 39
Antigüedad: 18 años, 4 meses
Puntos: 0
Ayuda con expresiones regulares

Hola a todos,

tengo un String del tipo "/(directorios)/buscaminas.zip", el caso es que quiero que preg_replace me devuelva el nombre del fichero, es en este caso buscaminas.zip

Llevo tiempo intentándolo hacer y no hay manera, si alguien del foro fuese tan amable de ayudarme, os lo agradecería mucho.

Un saludo!!
  #2 (permalink)  
Antiguo 15/08/2009, 07:48
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ayuda con expresiones regulares

¿Que es lo que has hecho?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 15/08/2009, 07:50
 
Fecha de Ingreso: diciembre-2005
Mensajes: 39
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Ayuda con expresiones regulares

Código PHP:
$str preg_replace('/(.*?)\/(.*?).(.*?)/i''$2$3'$accion[$i]); 
Pero no funciona a veces :( No tengo mucha idea abimaelrc!
  #4 (permalink)  
Antiguo 15/08/2009, 08:12
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ayuda con expresiones regulares

Trata de esta forma

Código php:
Ver original
  1. $accion = "/directorios/buscaminas.zip";
  2. $str = preg_match('/\w+\.\w+/i', $accion, $m);
  3. echo $m[0];
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 15/08/2009, 09:13
 
Fecha de Ingreso: diciembre-2005
Mensajes: 39
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Ayuda con expresiones regulares

Cita:
Iniciado por abimaelrc Ver Mensaje
Trata de esta forma

Código php:
Ver original
  1. $accion = "/directorios/buscaminas.zip";
  2. $str = preg_match('/\w+\.\w+/i', $accion, $m);
  3. echo $m[0];
Muchísimas gracias de verdad. Pero ahora tengo un problema. El caso es que fue un error mío no comentarte que también pasaria cadenas del tipo "h t t p :/ / (web). com /(directorios)/buscaminas.zip y claro, esa expresión no realiza la función esperada. ¿podrias decirme cómo?

No sabes cuanto agradezco tu ayuda.
  #6 (permalink)  
Antiguo 15/08/2009, 09:15
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ayuda con expresiones regulares

Verifica mejor con la funcion de basename

Código php:
Ver original
  1. $accion = "http://example.com/directorios/buscaminas.zip";
  2. echo basename($accion);

creo que hubiera sido mejor haber empezado por aqui
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
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:57.