Description
string
addcslashes ( string str, string charlist )
addcslashes() retourne la chaîne
str, après avoir ajouté des
anti-slash devant tous les caractères qui sont présents
dans la liste charlist. Si
charlist contient les caractères
\n, \r etc., ils seront
convertis à la mode du langage C, alors que les autres
caractères non-alphanumériques ayant
un code ASCII inférieur à 26, et supérieur à 126 sont
remplacés par leur représentation octale.
Attention à l'utilisation des caractères tels que 0, a, b, f, n, r,
t et v. Ils seront convertis en \0, \a, \b, \f, \n, \r, \t
et \v. En PHP, \0 (NULL), \r (retour chariot), \n (nouvelle ligne) et
\t (tabulation horizontale) sont prédéfinis comme séquences
d'échappement, tandis qu'en C, ce sont toutes les séquences cités
ci-dessus qui sont des séquences d'échappement.
charlist peut s'écrire "\0..\37", ce qui
identifie tous les caractères ASCII dont le code est entre
0 et 37.
Exemple 1. Exemple avec addcslashes()
<?php $escaped = addcslashes($not_escaped, "\0..\37!@\177..\377"); ?>
|
|
Lorsque vous définissez une séquence de caractères
dans le paramètre charlist, assurez-vous
que vous connaissez bien tous les caractères qui viennent entre
vos limites d'intervalles.
Exemple 2. Exemple avec addcslashes() et charlist
<?php echo addcslashes('foo[ ]', 'A..z'); // affiche : \f\o\o\[ \] // Toutes les majuscules et minuscules seront échappées // ... mais aussi les caractères [\]^_` et les tabulations // retours chariots, nouvelles lignes.... ?>
|
|
De plus, si le premier caractère d'un intervalle a un code ASCII
plus grand que le second, l'intervalle ne sera pas créé.
Seules les bornes de l'intervalle et le caractère point (.) seront
échappés. Utilisez la fonction
ord() pour
trouver la valeur ASCII d'un caractère.
Exemple 3.
Exemple avec addcslashes() et charlist (2)
<?php echo addcslashes("zoo['.']", 'z..A'); // \zoo['\.'] ?>
|
|
Voir aussi
stripcslashes(),
stripslashes(),
htmlspecialchars() et
quotemeta().