Dada una string que contiene caracteres de control. La tarea es eliminar todos los caracteres de control de una string. En ASCII, todos los caracteres que tienen un valor inferior a 32 entran en esta categoría. Algunos de los caracteres de control se dan a continuación:
S.NO | VALOR ASCII | Nombre | Símbolo |
---|---|---|---|
1. | 0 | nulo (NULO) | “\0” |
2. | 9 | pestaña horizontal (HT) | «\t» |
3. | 10 | avance de línea (LF) | «\norte» |
4. | 11 | pestaña vertical (VT) | “\v” |
5. | 27 | escapar (ESC) | «\mi» |
Ejemplo:
Input: str = "\0\eGeeks\t\e\tfor\v\vGeeks" Output: GeeksforGeeks
En este artículo, eliminaremos los caracteres de control de la string PHP usando dos métodos diferentes.
- Usando la expresión regular general:
- Usando la expresión regular ‘cntrl’:
Uso de la expresión regular general: hay muchas expresiones regulares que se pueden usar para eliminar todos los caracteres que tengan un valor ASCII inferior a 32. Aquí, usaremos el método preg_replace() .
Nota: El método ereg_replace() se eliminó de PHP >= 7, por lo que aquí usaremos el método preg_replace().
- Programa:
<?PHP
// PHP program to remove all control
// characters from string
// String with control characters
$str
=
"\eGeeks\t\tfor\v\vGeeks\n"
;
// Using preg_replace method to remove all
// control characters from string
$str
= preg_replace(
'/[\x00-\x1F\x7F]/'
,
''
,
$str
);
// Display the modify string
echo
(
$str
);
?>
- Producción:
GeeksforGeeks
Usando ‘cntrl’ Regex: Esto también se puede usar para eliminar todos los caracteres de control. Y [:cntrl:] representa todos los caracteres de control.
- Programa:
<?PHP
// PHP program to remove all control
// characters from string
// String with control characters
$str
=
"\eGeeks\t\tfor\vGeeks\n"
;
// Using preg_replace method to remove all
// control characters from string
$str
= preg_replace(
'/[[:cntrl:]]/'
,
''
,
$str
);
// Display the modify string
echo
(
$str
);
?>
- Producción:
GeeksforGeeks
Publicación traducida automáticamente
Artículo escrito por Pragya_Chaurasia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA