Fonctions sur les chaînes de caractères
PHP Manual

addcslashes

(PHP 4, PHP 5)

addcslashesAjoute des slash dans une chaîne, à la mode du langage C

Description

string addcslashes ( string $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.

Liste de paramètres

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 [\]^_`
?>
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.
<?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. En PHP, \0 (NULL), \r (retour chariot), \n (nouvelle ligne), \v (tabulation horizontale) et \t (tabulation) 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.

Valeurs de retour

Retourne la chaîne, échappée.

Historique

Version Description
5.2.5 Les séquences \v et \f ont été ajoutées.

Exemples

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");
?>

Voir aussi


Fonctions sur les chaînes de caractères
PHP Manual