Manuale PHP
Indietro |  | Avanti

# addcslashes

(PHP 4, PHP 5)

addcslashes -- Esegue il quoting di una stringa con gli slash nello stile del C

## Descrizione

string addcslashes ( string str, string charlist )

La funzione restituisce una stringa con il carattere di backslash '\' anteposto ai caratteri che sono indicati nel parametro charlist. La funzione inserisce il carattere di escape nello stile C in caso di \n, \r ecc., in caso di caratteri con codifica ASCII minore di 32 o superiore a 126 si applica la conversione nella rappresentazione ottale.

Occorre prestare attenzione se si imposta di anteporre il carattere di escape ai caratteri 0, a, b, f, n, r, t e v. Questi saranno convertiti in \0, \a, \b, \f, \n, \r, \t e \v. In PHP \0 (NULL), \r (carriage return), \n (newline) e \t (tab) sono sequenze di escape predefinite, anche in C tutte queste sono sequenze di escape predefinite.

Valorizzare il parametro charlist con "\0..\37", significa che si vuole inserire il carattere di escape davanti ai caratteri la cui codifica ASCII è comprese tra 0 e 31.

Esempio 1. Esempio di uso di addcslashes()

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

Quando si definisca una sequenza di caratteri nel parametro charlist occorre essere consapevoli di quali caratteri sono compresi nel range.

`<?php echo addcslashes('foo[ ]', 'A..z'); // output: \f\o\o\[ \] // Inserisce l'escape davanti a tutti i caratteri maiuscoli e minuscoli // ... ma anche [\]^_` i tab, line // feeds, carriage returns, etc. ?>`

Inoltre, se il primo carattere di un range ha una codifica ASCII maggiore del secondo, il range non sarà applicato. Soltanto il primo, i punti, e l'ultimo carattere avrà la sequenza di escape. Utilizzare la funzione ord() per ottenere la codifica ASCII di un carattere.

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

Vedere anche stripcslashes(), stripslashes(), htmlspecialchars() e quotemeta().

Indietro | Partenza | Avanti
Stringhe | Risali | addslashes