Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Extraer parte de un texto

Estas en el tema de Extraer parte de un texto en el foro de PHP en Foros del Web. Hola amigos, como les va? tengo un script que me genera un LOG, este log es aleatorio entre carpetas y archivos (musicales) la idea, es ...
  #1 (permalink)  
Antiguo 12/03/2013, 16:57
 
Fecha de Ingreso: noviembre-2011
Mensajes: 13
Antigüedad: 12 años, 5 meses
Puntos: 0
Extraer parte de un texto

Hola amigos, como les va?

tengo un script que me genera un LOG, este log es aleatorio entre carpetas y archivos (musicales)

la idea, es que quiero extraer la ultima parte del log

Este es el log:
Código:
16:37:03	inicio	C:\Radio\Musica\MUSICA RADIO\80s\The Beatles -Woman.mp3
16:44:19	inicio	C:\Radio\Musica\MUSICA RADIO\80s\The Outfield - All The Love In The World.mp3
16:47:48	inicio	C:\Radio\Musica\MUSICA RADIO\ELECTRONICA\Alejandra Guzman - un dia de suerte.mp3
No importa que tan largo este el log, solo me interesa extraer:
ELECTRONICA\Alejandra Guzman - un dia de suerte.mp3
(utilizando este ejemplo)

intente asi:
Código PHP:
$maximo =  substr($cadena,-100); //me extrae los ultimos 100 caracteres
$cadena=$maximo;
$maximo strlen($cadena);
$cadena_comienzo "C:\Radio\Musica\MUSICA RADIO\";
$cadena_fin = "
.mp3";
$total = strpos($cadena,$cadena_comienzo);
$total2 = strpos($cadena,$cadena_fin);
$total3 = ($maximo - $total2 - 4);
$final = substr ($cadena,$total,-$total3);
echo $final;
//     C:\Radio\Musica\MUSICA RADIO\ELECTRONICA\Alejandra Guzman - un dia de suerte.mp3 
Bueno, asi el ejemplo funciona bien, pero a veces las subcarpetas y archivos son mas cortos ó largos... y al cortar 100 caracteres, a veces se queda corto y se pasa al renglon anterior ó a veces le faltan caracteres....

la idea es, extraer solo lo que esta despues del ultimo:
C:\Radio\Musica\MUSICA RADIO

Me echan una manita por favor?

Saludos!
  #2 (permalink)  
Antiguo 12/03/2013, 17:00
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Extraer parte de un texto

Yo haría lo siguiente, si el archivo no es muy grande:

en un ciclo leer el archivo por renglón, ir conservando el renglón anterior, en el momento que se termine el archivo, el renglón anterior será el último.

Si el archivo fuera muy grande, supongo que se podría optimizar por posiciones en el archivo.
  #3 (permalink)  
Antiguo 12/03/2013, 17:06
 
Fecha de Ingreso: noviembre-2011
Mensajes: 13
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Extraer parte de un texto

Utilice: file_get_contents

y me arroja todo en un solo renglon, o sea; no respeta los saltos de linea.

el archivo se puede hacer muy grande, ya que llegan a reproducirse unas 600 canciones diariamente
  #4 (permalink)  
Antiguo 12/03/2013, 17:12
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Extraer parte de un texto

600 lineas es poco, al menos para una computadora. Cuando te comentaba leer por renglón, me refería a leer con fgets(), ahora que si quieres pasar todo el archivo a memoria con file_get_contents, podrías partir lo obtenido por el caracter de retorno (\n) y tomar la última posición del arreglo:

$contenido=file_get_contents("archivo.txt");
$contenido=explode("\n",$contenido);
$ultimo=array_pop($contenido);

Esto sólo lo haría con archivos de pocas lineas, si tuvieras miles de lineas, sería mejor leer por renglón.
  #5 (permalink)  
Antiguo 12/03/2013, 17:17
 
Fecha de Ingreso: noviembre-2011
Mensajes: 13
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Extraer parte de un texto

Chingon carnal (Y)
Eres cabron, saludos

Etiquetas: parte
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:52.