(PHP 4, PHP 5, PHP 7, PHP 8)
addcslashes — Añade barras invertidas a un string, al estilo del lenguaje C
Devuelve el string string
, después de haber añadido
barras invertidas antes de todos los caracteres que están presentes
en la lista characters
.
string
El string a escapar.
characters
Una lista de caracteres a escapar. Si
characters
contiene los caracteres
\n
, \r
etc., serán
convertidos al estilo del lenguaje C, mientras que otros
caracteres no alfanuméricos con un código ASCII inferior
a 26 y superior a 126 son reemplazados por su representación
octal.
Al definir una secuencia de caracteres
en el parámetro characters
, asegúrese
de que conoce bien todos los caracteres que se encuentran entre
los límites de los intervalos.
Ejemplo #1 addcslashes() con rangos
<?php
echo addcslashes('foo[ ]', 'A..z');
// Muestra: \f\o\o\[ \]
// Todas las mayúsculas y minúsculas serán escapadas
// ... pero también los caracteres [\]^_`
?>
Ejemplo #2 addcslashes() con caracteres en el orden incorrecto
<?php
echo addcslashes("zoo['.']", 'z..A');
// Muestra: \zoo['\.']
?>
Tenga cuidado con el uso de caracteres como 0, a, b, f, n, r,
t y v. Serán convertidos en \0, \a, \b, \f, \n, \r, \t y \v,
todos siendo secuencias de escape en C. La mayoría de estas secuencias
también están definidas en otros lenguajes derivados de C, incluyendo PHP,
lo que significa que no se obtendrá el resultado esperado si se
utiliza la salida de la función addcslashes()
para generar código para estos lenguajes con los caracteres definidos
en el parámetro characters
.
Devuelve el string escapado.
characters
puede escribirse "\0..\37", lo que
identifica todos los caracteres ASCII cuyo código está entre
0 y 37.
Ejemplo #3 Ejemplo con addcslashes()
<?php
$not_escaped = "PHP isThirty\nYears Old!\tYay to the Elephant!\n";
$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377");
echo $escaped;
?>