Foros del Web » Programando para Internet » PHP »

Problemas con fichero

Estas en el tema de Problemas con fichero en el foro de PHP en Foros del Web. Buenas a todos, sean días tardes o noches, estoy tratando de reemplazar 00 de ASCII por otro caracter ASCII de un fichero .tad Usaré un ...
  #1 (permalink)  
Antiguo 26/02/2016, 02:26
 
Fecha de Ingreso: febrero-2016
Ubicación: guadalajara
Mensajes: 4
Antigüedad: 8 años
Puntos: 0
Pregunta Problemas con fichero

Buenas a todos, sean días tardes o noches, estoy tratando de reemplazar 00 de ASCII por otro caracter ASCII de un fichero .tad

Usaré un código de ejemplo. (mi código tiene 4000 mil caracteres)

5052 4143 5449 4341 4E44 4F00 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000

Utilizo

substr($acc,154,2); // Posicion de los 0000 que quiero cambiar
str_replace..................


Al reemplazar substr($acc,154,2); // los 0000 por ejemplo a 0202

se ve de esta manera

5052 4143 5449 4341 4E44 4F00 0202 0202
0202 0202 0202 0202 0202 0202 0202 0202
0202 0202 0202 0202 0202 0202 0202 0202
0202 0202 0202 0202 0202 0202 0202 0202
0202 0202 0202 0202 0202 0202 0202 0202

Me reemplaza todos los 0000 y quiero que solo me cambie el que solicito quedando de esta manera

5052 4143 5449 4341 4E44 4F00 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0202 0000

Aclaro que puedo modificar cualquier valor que no sea 0000.

Se recibe cualquier ayuda.

Gracias.
  #2 (permalink)  
Antiguo 26/02/2016, 02:31
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Problemas con fichero

El asunto es que estás combinando funciones totalmente fuera de lugar, no puedes esperar que con substr() "limites" la región en la que str_replace() va a aplicarse.

Así no se usan las funciones para cadenas de texto en PHP, así que sería bueno que plantees otra estrategia.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 26/02/2016, 02:43
 
Fecha de Ingreso: febrero-2016
Ubicación: guadalajara
Mensajes: 4
Antigüedad: 8 años
Puntos: 0
Respuesta: Problemas con fichero

Gracias por responder, mi pregunta es si es posible modificar con algun méodo de php, el valor 0000 por otro valor, ya que usando el mismo método con otros caracteres por ejemplo 0202, 3030, 1111, etc... puedo modificar sin problemas.
  #4 (permalink)  
Antiguo 26/02/2016, 02:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Problemas con fichero

Pues para eso existe str_replace(), el tema es que reemplaza todas las coincidencias, a menos que configures su comportamiento.

¿Ya consultaste en el manual al respecto de cómo se usa dicha función?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 26/02/2016 a las 03:03
  #5 (permalink)  
Antiguo 26/02/2016, 03:08
 
Fecha de Ingreso: febrero-2016
Ubicación: guadalajara
Mensajes: 4
Antigüedad: 8 años
Puntos: 0
Respuesta: Problemas con fichero

he intentado muchas formas posibles, con str_replace y preg_replace, pero no consigo lo deseado, soy nuevo en php.
  #6 (permalink)  
Antiguo 26/02/2016, 03:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Problemas con fichero

Entiendo que seas nuevo y hayas intentado miles de formas, pero, ¿ya consultaste en el manual de str_replace() para entender cómo se usa?

Enlace al manual: http://php.net/str_replace

Además, te repito, con str_replace() no hay forma de decirle "sólo reemplaza de aquí para allá", pues reemplazará N coincidencias de inicio a fin de la cadena de texto.

Si necesitas limitar el reemplazo a cierta sección del texto primero tienes que recortar dicho texto con substr(), etc. pero seguramente no de la forma en que tienes en mente (y no muestras).
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 26/02/2016, 03:17
 
Fecha de Ingreso: febrero-2016
Ubicación: guadalajara
Mensajes: 4
Antigüedad: 8 años
Puntos: 0
Respuesta: Problemas con fichero

No había llegado a ese manual, tratare de estudiar el comportamiento y probar, gracias.

Etiquetas: ascii, hexadecimal, replace, str, string, substr
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 22:56.