addcslashes

(PHP 4 , PHP 5)

addcslashes -- String entre aspas com barras no estilo C

Descrição

string addcslashes ( string str, string charlist )

Retorna uma string com barras invertidas antes dos caracteres que estão listados no parâmetro charlist. Ela escapa \n, \r etc. Como no estilo C, caracteres no código ASCII menores que 32 e maiores que 126 são convertidos para representação octadecimal.

Tome cuidado se você escolher escapar caracteres 0, a, b, f, n, r, t e v. Eles serão convertidos para \0, \a, \b, \f, \n, \r, \t e \v. No PHP \0 (NULL), \r (sinal de retorno), \n (novalinha) e \t (tab) são seqüencias de escape predefinidas, enquanto em C todas essas são seqüencias de escape predefinidas.

charlist como "\0..\37", que que escaparia todos os caracteres em código ASCII entre 0 e 37.

Exemplo 1. addcslashes() exemplo

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

Quando você define uma seqüencia de caracteres no argumento charlist certifique-se que você sabe quais os caracteres que vêm dentro do intervalo que você definiu.

<?php
echo addcslashes('foo[ ]', 'A..z');
// output:  \f\o\o\[ \]
// All upper and lower-case letters will be escaped
// ... but so will the [\]^_` and any tabs, line
// feeds, carriage returns, etc.
?>

Também, se o primeiro caracter no intervalo tem um valor ASCII maior do que o segundo, nenhum intervalo será construído. Apenas os caracteres do começo e do fim serão escapados. Use a função ord() para encontrar o valor ASCII para um caracter.

<?php
echo addcslashes("zoo['.']", 'z..A');
// output:  \zoo['\.']
?>

Veja também stripcslashes(), stripslashes(), htmlspecialchars(), e quotemeta().