(PHP 4, PHP 5, PHP 7)
addcslashes — Ajoute des slash dans une chaîne, à la mode du langage C
$str
, string $charlist
)
Retourne la chaîne str
, après avoir ajouté des
antislashs devant tous les caractères qui sont présents
dans la liste charlist
.
str
La chaîne à échapper.
charlist
Une liste de caractères à échapper. 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.
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.
<?php
echo addcslashes('foo[ ]', 'A..z');
// Affiche : \f\o\o\[ \]
// Toutes les majuscules et minuscules seront échappées
// ... mais aussi les caractères [\]^_`
?>
<?php
echo addcslashes("zoo['.']", 'z..A');
// Affiche : \zoo['\.']
?>
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,
tous étant des séquences d'échappement en C. La plupart de ces séquences
sont aussi définies dans d'autres langages dérivés du C, incluant PHP,
ce qui signifie que vous n'obtiendrez pas le résultat attendu si vous
utilisez la sortie de la fonction addcslashes()
pour générer du code pour ces langages avec les caractères définis
dans le paramètre charlist
.
Retourne la chaîne, échappée.
Version | Description |
---|---|
5.2.5 | Les séquences \v et \f ont été ajoutées. |
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");
?>