Foros del Web » Programando para Internet » PHP »

Sustituir caracteres en una cadena

Estas en el tema de Sustituir caracteres en una cadena en el foro de PHP en Foros del Web. Uff, menudo follón para sustituir con expresiones, bueno, deseo sustituir los caracteres de 0 a 96 por un espacio en blanco, para ello utilizo la ...
  #1 (permalink)  
Antiguo 01/10/2004, 05:16
 
Fecha de Ingreso: agosto-2004
Mensajes: 513
Antigüedad: 19 años, 6 meses
Puntos: 5
Sustituir caracteres en una cadena

Uff, menudo follón para sustituir con expresiones, bueno, deseo sustituir los caracteres de 0 a 96 por un espacio en blanco, para ello utilizo la siguiente sentencia:

$cadena=preg_replace("[chr(0)-chr(96)]"," ", $cadena);

El problema es que no lo hace, lo que pasa es que los caracteres antes del 32 son especiales y desconozco la forma de comunicarlo. ¿no es mediante chr?

bye
  #2 (permalink)  
Antiguo 01/10/2004, 05:26
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Hola,

Si, la funcion chr() (www.php.net/chr) sirve para generar el caracter de ese codigo ascii. El problema en tu codigo es que te esta tomando como una cadena de texto todo lo de las comillas.

De todas formas, si miras en http://es2.php.net/manual/en/referen...ern.syntax.php veras que hay una sintaxis para indicar codigos hexadecimales (\x07 seria para indicar el caracter de codigo ascii 07 hexadecimal).

Asi que que tienes que hacer es calcular el valor hexadecimal de los caracteres limite y ponerlos en la regexp. Seria algo como:

[\x00-\x60]

saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 04:15.