Foros del Web » Programando para Internet » PHP »

eliminar ultima linea de un string

Estas en el tema de eliminar ultima linea de un string en el foro de PHP en Foros del Web. hola, si la linea es asi: Código PHP: $variable = 'aaa bbbbb ccccc ' ;  como puedo hacer que se elimine la ultima? sea lo ...
  #1 (permalink)  
Antiguo 13/11/2009, 19:40
Avatar de Fierce  
Fecha de Ingreso: marzo-2008
Mensajes: 216
Antigüedad: 16 años, 1 mes
Puntos: 3
Pregunta eliminar ultima linea de un string

hola, si la linea es asi:

Código PHP:
$variable='aaa
bbbbb
ccccc
'


como puedo hacer que se elimine la ultima? sea lo que sea este escrito quedaria asi:
Código PHP:
$variable='aaa
bbbbb
ccccc'

  #2 (permalink)  
Antiguo 13/11/2009, 19:57
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Respuesta: eliminar ultima linea de un string

usa explode(); eso seguro resuelve tu problema!
__________________
Hospedaje Web al mejor costo!
  #3 (permalink)  
Antiguo 13/11/2009, 19:59
Avatar de Fierce  
Fecha de Ingreso: marzo-2008
Mensajes: 216
Antigüedad: 16 años, 1 mes
Puntos: 3
Respuesta: eliminar ultima linea de un string

olvidenlo, ya lo logre.... para el que me voto una estrella, yo creo maravillas a punta de Bobaditas sensillas ;)
  #4 (permalink)  
Antiguo 13/11/2009, 20:47
Avatar de arthpix  
Fecha de Ingreso: diciembre-2003
Ubicación: Cancún
Mensajes: 2.340
Antigüedad: 20 años, 4 meses
Puntos: 93
Respuesta: eliminar ultima linea de un string

¿Y como lo resolviste? Si pones tu solución puedes ayudar a otros con problemas similares
__________________
Antes de hacer rabietas infórmate: Linux != Windows
  #5 (permalink)  
Antiguo 13/11/2009, 21:32
 
Fecha de Ingreso: septiembre-2009
Mensajes: 124
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: eliminar ultima linea de un string

Creeria que lo soluciono con un:

$stringFinal = substr($string,0,strlen($string)-1);

Esto lo que hace es substraer todos los caracteres menos el ultimo de un string.

Saludos!
  #6 (permalink)  
Antiguo 14/11/2009, 10:24
Avatar de Fierce  
Fecha de Ingreso: marzo-2008
Mensajes: 216
Antigüedad: 16 años, 1 mes
Puntos: 3
Respuesta: eliminar ultima linea de un string

no, no lo solucione con eso estefanosalazar a demas tu codigo no es el eficiente devido a que si la variable es esta:

$variable='aaa
bbbbb
ccccc';

entonces le quitaria la ultima c a demas ese substr no coje el /r/n (ya lo avia probado)

lo que ise fue un explode y reorganizarlo con tales parametros que si esite una linea vacia no la coloque. espero que ayan entendido, si no avisen
  #7 (permalink)  
Antiguo 14/11/2009, 19:55
 
Fecha de Ingreso: septiembre-2009
Ubicación: Neuquén
Mensajes: 142
Antigüedad: 14 años, 6 meses
Puntos: 12
Respuesta: eliminar ultima linea de un string

Código php:
Ver original
  1. $str = preg_replace('/[\r\n]+?$/', '', $str);
  2. // o...
  3. $str = rtrim($str, "\r\n");
  #8 (permalink)  
Antiguo 14/11/2009, 21:06
Avatar de Fierce  
Fecha de Ingreso: marzo-2008
Mensajes: 216
Antigüedad: 16 años, 1 mes
Puntos: 3
Respuesta: eliminar ultima linea de un string

buen aporte Nisrokh pero el mio elimina todas las lineas en blanco asi esten al comienzo, en la mitado o al final, donde sea las elimina.
  #9 (permalink)  
Antiguo 14/11/2009, 21:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: eliminar ultima linea de un string

y yo que pensaba que trim() lo hacía mas sencillo...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 15/11/2009, 01:46
 
Fecha de Ingreso: septiembre-2009
Ubicación: Neuquén
Mensajes: 142
Antigüedad: 14 años, 6 meses
Puntos: 12
Respuesta: eliminar ultima linea de un string

no entendi con eso de q "el tuyo elimina todas las lineas en blanco xD
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 14:29.