(PHP 4, PHP 5)
addcslashes — Esegue il quoting di una stringa con gli slash nello stile del C
$str
, string $charlist
)
La funzione restituisce una stringa con il carattere di backslash '\' anteposto
ai caratteri che sono indicati nel parametro charlist
.
str
La stringa su cui effettuare l'escape.
charlist
Una lista dei caratteri su cui effettuare l'escape. Se
charlist
contiene i caratteri
\n, \r ecc., essi sono
convertiti nello stile C-like, mentre gli altri caratteri non alfanumerici
con codici ASCII minori di 32 e maggiori di 126 sono convertiti nella
rappresentazione ottale.
Quando si definisce una sequenza di caratteri nel parametro charlist assicurarsi di sapere quali caratteri sono presenti tra i caratteri che si sono impostati come inizio e la fine dell'intervallo.
<?php
echo addcslashes('foo[ ]', 'A..z');
// output: \f\o\o\[ \]
// Su tutte le lettere maiuscole e minuscole verrà effettuato l'escape
// ... ma anche [\]^_`
?>
<?php
echo addcslashes("zoo['.']", 'z..A');
// output: \zoo['\.']
?>
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,
i quali sono sequenze di escape predefinite in C. Molte di queste sequenze sono
anche definite in altri linguaggi derivati da C, incluso PHP, il che significa che
non si possono ottenere i risultati desiderati se si usa l'output di
addcslashes() per generare codice in questi linguaggi
con questi caratteri definiti in charlist
.
Restituisce la stringa con l'escape.
Versione | Descrizione |
---|---|
5.2.5 | Sono state aggiunte le sequenze di escape \v e \f. |
Usare charlist
pari a "\0..\37", significa che si vuole effettuare
l'escape di tutti i caratteri con codice ASCII tra 0 e 31.
Example #1 Esempio di addcslashes()
<?php
$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377");
?>