Forum und email

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 pré-definidas, enquanto em C todas essas são seqüencias de escape pré-definidas.

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

Example#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().