(PHP 4, PHP 5, PHP 7)
addcslashes — Escapa una cadena al estilo de C
$str
, string $charlist
) : string
Devuelve un string con barras invertidas antes de los caracteres que
aparecen en el parámetro charlist
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 [\]^_`
?>
<?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
.
Devuelve el string escapado.
Versión | Descripción |
---|---|
5.2.5 | Se añadieron las secuencias de escape \v y \f. |
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");
?>