Foros del Web » Programando para Internet » PHP »

preg_replace

Estas en el tema de preg_replace en el foro de PHP en Foros del Web. Hola muchachos lamento molestarlos para esta pavada pero son las 4:40 de l amañana y no veo el error quiero obtener la extension de un ...
  #1 (permalink)  
Antiguo 22/09/2011, 01:46
 
Fecha de Ingreso: agosto-2011
Ubicación: Argentina
Mensajes: 31
Antigüedad: 12 años, 8 meses
Puntos: 1
preg_replace

Hola muchachos lamento molestarlos para esta pavada pero son las 4:40 de l amañana y no veo el error quiero obtener la extension de un archivo a partir de su nombre
$extension = preg_replace('/^.*\.(?=[a-z0-9]{3,4})$/', '$1', $_nombre_archivo);
es decir quiero obtener los 3 o 4 ultimos caracteres despues del ultimo punto
cabe mencinar que le paso un archivo del tipo 1907.jpg y me devuelve 1907.jpg en vez de jpg
desde ya se agradece
  #2 (permalink)  
Antiguo 22/09/2011, 03:02
 
Fecha de Ingreso: agosto-2011
Ubicación: Argentina
Mensajes: 31
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: preg_replace

Cita:
Iniciado por lopezezequiel Ver Mensaje
Hola muchachos lamento molestarlos para esta pavada pero son las 4:40 de l amañana y no veo el error quiero obtener la extension de un archivo a partir de su nombre
$extension = preg_replace('/^.*\.(?=[a-z0-9]{3,4})$/', '$1', $_nombre_archivo);
es decir quiero obtener los 3 o 4 ultimos caracteres despues del ultimo punto
cabe mencinar que le paso un archivo del tipo 1907.jpg y me devuelve 1907.jpg en vez de jpg
desde ya se agradece


me autorespondo
preg_replace('/.+\.(?=[a-z0-9]{3,4})/', '$1', $_nombre_base);
el problema era que estaba poniendo ^ y $
PD: voy a dormir un rato nomas, nos vemos
  #3 (permalink)  
Antiguo 22/09/2011, 03:05
Avatar de dmm84  
Fecha de Ingreso: marzo-2011
Mensajes: 164
Antigüedad: 13 años, 1 mes
Puntos: 13
Respuesta: preg_replace

Yo hace un tiempo tuve un problema asi y lo solucione de otra forma:

Código PHP:
Ver original
  1. $archivo = "carpeta-1/otra.carpeta/foto.jpg";
  2. $ext_temp = explode(".", $archivo);
  3. for($i = 0; $i < count($ext_temp); $i++) {
  4.     $ext = $ext_temp[$i];
  5. }
  6.  
  7. echo $ext;
__________________
Mas vale un codigo que mil palabras
  #4 (permalink)  
Antiguo 22/09/2011, 11:38
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: preg_replace

Puedes hacer algo así en caso de tenerlo con directorio y todo:

Código PHP:
Ver original
  1. <?php
  2. $nombre = 'carpeta-1/otra.carpeta/foto.jpg';
  3. $nombre = basename($nombre);
  4. $ext = explode(".", $nombre);
  5. $num = count($ext) - 1;
  6. echo $ext[$num]; //jpg

Si es sólo el nombre y extensión así:

Código PHP:
Ver original
  1. <?php
  2. $nombre = '1907.jpg';
  3. $ext = explode(".", $nombre);
  4. $num = count($ext) - 1;
  5. echo $ext[$num]; //jpg
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 22/09/2011, 22:27
 
Fecha de Ingreso: agosto-2011
Ubicación: Argentina
Mensajes: 31
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: preg_replace

gracias por la alternativa planteada, nos vemos
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 08:54.