Foros del Web » Programando para Internet » PHP »

Problema en php con un txt

Estas en el tema de Problema en php con un txt en el foro de PHP en Foros del Web. Hola tengo un problema, lo que quiero es que el usuario pueda editar un archivo txt como este: Código: Dato1: 02 Dato2: 04 Pero si ...
  #1 (permalink)  
Antiguo 21/04/2016, 16:02
 
Fecha de Ingreso: abril-2016
Mensajes: 1
Antigüedad: 5 años, 7 meses
Puntos: 0
Pregunta Problema en php con un txt

Hola tengo un problema, lo que quiero es que el usuario pueda editar un archivo txt como este:

Código:
Dato1: 02 
Dato2: 04
Pero si se equivoca yo utilizo este código para volverlo al estado original:

Código PHP:
$config file_get_contents(txt.txt); 
$config str_replace(array('Dato1''Dato2'), array('Dato1: 02''Dato2: 04'), $config); 
file_put_contents('txt.txt',$config); 
pero si el usuario inserta algo asi:

Código:
Dato1: sd 
Dato2: sd3
y yo remplazo el error con el código queda algo así:

Código:
Dato1: 02 sd 
Dato2: 02 sd3 
el problema es que solo puedo remplazar datos que yo ya definí, mi pregunta es si hay otra manera para que se busque la palabra y pueda remplazar toda la linea de esa palabra sin dejar esos errores que marque con rojo?

Última edición por RM5559; 21/04/2016 a las 16:04 Razón: ingresar datos adicionales
  #2 (permalink)  
Antiguo 21/04/2016, 16:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 13 años, 7 meses
Puntos: 2534
Respuesta: Problema en php con un txt

El problema es que aplicas str_replace() sobre todo el texto, cuando deberías hacerlo linea por linea.

Con file() puedes cargar el archivo en un array, y con implode() puede volver a unirlo por saltos de linea, con foreach() creas el loop y el resto ya sabes hacerlo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: codigophp, txt
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 20:28.