addcslashes

(PHP 4, PHP 5, PHP 7)

addcslashesEscapa una cadena al estilo de C

Descripción

addcslashes ( string $str , string $charlist ) : string

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

Parámetros

str

El string a escapar.

charlist

Una lista de caracteres que serán escapados. Si charlist 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 charlist, 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 charlist.

Valores devueltos

Devuelve el string escapado.

Historial de cambios

Versión Descripción
5.2.5 Se añadieron las secuencias de escape \v y \f.

Ejemplos

Un rango en charlist 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