Foros del Web » Programando para Internet » PHP »

Extraer elementos cadena menos 5 ultimos caracteres

Estas en el tema de Extraer elementos cadena menos 5 ultimos caracteres en el foro de PHP en Foros del Web. Me gustaría saber que puedo hacer para que a partir de una cadena obtenga la misma cadena pero sin los últimos 5 caracteres. - Por ...
  #1 (permalink)  
Antiguo 02/06/2009, 03:49
 
Fecha de Ingreso: agosto-2007
Mensajes: 248
Antigüedad: 16 años, 7 meses
Puntos: 1
De acuerdo Extraer elementos cadena menos 5 ultimos caracteres

Me gustaría saber que puedo hacer para que a partir de una cadena obtenga la misma cadena pero sin los últimos 5 caracteres.

- Por ejemplo si la cadena fuera: "relampago"
Quiero obtener: "rela" desechando "mpago" que son los últimos 5 caracteres de la cadena.

- Por ejemplo si la cadena fuera: "1235468799999"
Quiero obtener: "12354687" desechando "99999" que son los últimos 5 caracteres de la cadena.

Espero haberme explicado bien.

Muchas Gracias ¡¡¡¡
  #2 (permalink)  
Antiguo 02/06/2009, 03:56
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: Extraer elementos cadena menos 5 ultimos caracteres

Yo mediría la longitud de la cadena con strlen, despúes le restaría a esa longitud 5 (que son los caracteres que quieres eliminar)

Entonces haría un substr a la cadena.

Sería algo así

$variable = "relampago";
$longitud = strlen($variable); // 9
$recortada = $longitud-5; // 4
$resultado = substr($variable, 0, $recortada); // rela
  #3 (permalink)  
Antiguo 02/06/2009, 04:02
Usuario no validado
 
Fecha de Ingreso: octubre-2008
Ubicación: BRUSELAS
Mensajes: 211
Antigüedad: 15 años, 5 meses
Puntos: 3
Respuesta: Extraer elementos cadena menos 5 ultimos caracteres

y si la palabra tiene 4 caracteres???

yo pondria una condicion despues del strlen para ver si la palabra tiene mas de 5 lettras.

salu2
  #4 (permalink)  
Antiguo 02/06/2009, 04:21
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: Extraer elementos cadena menos 5 ultimos caracteres

jejeje, tienes razon fatasma...

$variable = "relampago";
$longitud = strlen($variable); // 9
if($longitud>5) {$recortada = $longitud-5; // 4
$resultado = substr($variable, 0, $recortada);} else {$resultado = $variable} // la palabra tiene 5 letras o menos
  #5 (permalink)  
Antiguo 02/06/2009, 05:03
 
Fecha de Ingreso: agosto-2007
Mensajes: 248
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: Extraer elementos cadena menos 5 ultimos caracteres

Estoy seguro q siempre como mínimo en mi caso tendrá 6 caracteres con lo cual la condicion if se puede obviar.

¿Podría valer la siguiente sentencia?

$subcadena = substr ($cadena,0,-5);

Gracias ¡¡
  #6 (permalink)  
Antiguo 02/06/2009, 05:09
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: Extraer elementos cadena menos 5 ultimos caracteres

si, así también te vale!!

No se porque pero pensaba que no se podía poner longitud negativa en substr...(Habrá sido un lapsus jejeje)

jejeje, así que te has solucionado tu mismo la duda
  #7 (permalink)  
Antiguo 02/06/2009, 05:11
 
Fecha de Ingreso: agosto-2007
Mensajes: 248
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: Extraer elementos cadena menos 5 ultimos caracteres

Pues si, pero me ha venido bien la ayuda que me habeis echado...siempre las cosas se pueden hacer de varias maneras y también se aprende.
Gracias nuevamente ¡¡¡
  #8 (permalink)  
Antiguo 05/07/2009, 04:49
 
Fecha de Ingreso: agosto-2007
Mensajes: 248
Antigüedad: 16 años, 7 meses
Puntos: 1
De acuerdo Respuesta: Extraer elementos cadena menos 5 ultimos caracteres

Aqui teneis un ejemplo para ver que funciona correctamente.

Saludos ¡¡¡

Código PHP:
<?php 

$cadena1
="100001";
$cadena2="1200002";
$cadena3="14900003";
$cadena4="128300004";
$cadena5="7366200005";

 
$cadena1a substr ($cadena1,0,-5);
 
$cadena1b substr ($cadena1,-5);    
  
 
$cadena2a substr ($cadena2,0,-5);
 
$cadena2b substr ($cadena2,-5);    
 
 
$cadena3a substr ($cadena3,0,-5);
 
$cadena3b substr ($cadena3,-5);    
 
 
$cadena4a substr ($cadena4,0,-5);
 
$cadena4b substr ($cadena4,-5);    
 
 
$cadena5a substr ($cadena5,0,-5);
 
$cadena5b substr ($cadena5,-5);        
 
 
 echo 
$cadena1a; echo "|"; echo $cadena1b;
 echo 
"<br/><br/>";
 
 echo 
$cadena2a; echo "|"; echo $cadena2b;
 echo 
"<br/><br/>";

 echo 
$cadena3a; echo "|"; echo $cadena3b;
 echo 
"<br/><br/>";

 echo 
$cadena4a; echo "|"; echo $cadena4b;
 echo 
"<br/><br/>";

 echo 
$cadena5a; echo "|"; echo $cadena5b;
 echo 
"<br/><br/>";

 
?>
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:46.