7.101.6 addcslashes()Ajoute des slashes dans une chaîne, à la mode du langage C[ Exemples avec addcslashes ] PHP 4
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
. Cette
fonction échappe aussi les caractères
\n
,
\r
etc. à la
mode du langage C. Tous les caractères 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,
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 31.
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 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 petit que le second, l'intervalle ne sera pas créé.
Seules les bornes de l'intervalle et le caractère point (.) seront
échappées. Utilisez la fonction
ord
pour
trouver la valeur ASCII d'un caractère.
Exemple avec addcslashes et charlist (2) |
<?php echo addcslashes("zoo['.']", 'z..A'); // affiche : \zoo['\.'] ?>
|
Voir aussi
stripcslashes
,
stripslashes
,
htmlspecialchars
et
quotemeta
.
|