Saltar al contenido

Eliminar caracteres de control de PHP string

Hola usuario de nuestro sitio web, descubrimos la respuesta a lo que estabas buscando, continúa leyendo y la encontrarás aquí.

Solución:

Si por caracteres de control quiere decir los primeros 32 caracteres ascii y x7F (que incluye el retorno de carro, etc.), entonces esto funcionará:

preg_replace('/[x00-x1Fx7F]/', '', $input);

(Observe las comillas simples: con comillas dobles el uso de x00 causa un error de análisis, de alguna manera).

El salto de línea y el retorno de carro (a menudo escritos r y n) se puede guardar de la eliminación de la siguiente manera:

preg_replace('/[x00-x09x0Bx0Cx0E-x1Fx7F]/', '', $input);

Debo decir que creo que la respuesta de Bobby es mejor, en el sentido de que [:cntrl:] transmite mejor lo que hace el código que [x00-x1Fx7F].

ADVERTENCIA:ereg_replace está en desuso en PHP >= 5.3.0 y eliminado en PHP >= 7.0.0!, utilice preg_replace en lugar de ereg_replace:

preg_replace('/[[:cntrl:]]/', '', $input);

Para la entrada Unicode, esto eliminará todos los caracteres de control, no asignados, de uso privado, formato y puntos de código sustitutos (que no son también caracteres de espacio, como tabulación, nueva línea) de su texto de entrada. Lo uso para eliminar todos los caracteres no imprimibles de mi entrada.

para más información sobre pC ver http://www.regular-expressions.info/unicode.html#category

PHP admite clases POSIX para que pueda usar [:cntrl:] en lugar de algunas cosas mágicas de personajes elegantes:

ereg_replace("[:cntrl:]", "", $pString);

Editar:

Es posible que se necesite un par adicional de corchetes en 5.3.

ereg_replace("[[:cntrl:]]", "", $pString);

Eres capaz de añadir valor a nuestra información asistiendo con tu experiencia en las interpretaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *