addcslashes

(PHP 4, PHP 5, PHP 7, PHP 8)

addcslashesEscapa una cadena al estilo de C

Descripción

addcslashes(string $string, string $characters): string

Devuelve un string con barras invertidas antes de los caracteres que aparecen en el parámetro characters

Parámetros

string

El string a escapar.

characters

Una lista de caracteres que serán escapados. Si characters contiene caracteres como \n, \r etc., serán convertidos al estilo de C, mientras que otros caracteres no alfanuméricos con código ASCII inferior a 32 y superior a 126 serán convertidos a representación octal.

Cuando se defina una secuencia de caracteres en el argumento characters, asegúrese de conocer los caracteres que hay entre los caracteres de inicio y final del rango establecido.

<?php
echo addcslashes('foo[ ]', 'A..z');
// salida: \f\o\o\[ \]
// Serán escapadas todas las letras mayúsculas y minúsculas
// ... pero también [\]^_`
?>
Además, si el primer carácter del rango tiene un valor ASCII superior al segundo carácter del rango, este no se podrá construir. Solamente serán escapados los caracteres de inicio, fin y el punto. Use la función ord() para encontrar el valor ASCII de un carácter.
<?php
echo addcslashes("zoo['.']", 'z..A');
// salida: \zoo['\.']
?>

Ojo si se opta por escapar los caracteres 0, a, b, f, n, r, t y v. Estos se convertirán en \0, \a, \b, \f, \n, \r, \t and \v, que son todos secuencias de escape predefinidas en C. Muchas de estas secuencias tambíen están definidas en otros lenguajes derivados de C, incluyendo PHP, lo que significa que no se podría obtener el resultado deseado si se usa la salida de addcslashes() para generar código en tales lenguajes con los caracteres definidos en characters.

Valores devueltos

Devuelve el string escapado.

Ejemplos

Un rango en characters como "\0..\37", escaparía a todos los caracteres con código ASCII entre 0 y 31.

Ejemplo #1 Ejemplo de addcslashes()

<?php
$escapado
= addcslashes($no_escapado, "\0..\37!@\177..\377");
?>

Ver también