(PHP 4, PHP 5, PHP 7, PHP 8)
addcslashes — Ajoute des slash dans une chaîne, à la mode du langage C
Retourne la chaîne string
, après avoir ajouté des antislashs devant tous les caractères qui sont présents dans la liste characters
.
string
La chaîne à échapper.
characters
Une liste de caractères à échapper. Si characters
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 characters
, 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 characters
.
Retourne la chaîne, échappée.
characters
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");
?>