ADDCSLASHES |
Ajout un barre oblique comme C |
---|---|
PHP 4.0+ |
Syntaxe
function addcslashes($str,$charlist) |
Paramètres
Nom | Description |
---|---|
$str | Ce paramètre permet d'indiquer la chaîne de caractères à traiter |
$charlist | Ce paramètre permet d'indiquer la liste des caractères à tenir compte |
Retour
Valeur | Description |
---|---|
chaine de caractères | Ces valeurs indiquent une chaîne de caractères traités selon les spécifications demandées. |
Description
Cette fonction permet d'ajouter une barre oblique supplémentaire à chaque caractères spécifié dans la chaîne de caractères.
Algorithme
MODULE ADDCSLASHES(str, charlist) Initialiser une chaîne de caractères vide result BOUCLE POUR CHAQUE caractère dans la chaîne de caractères str FAIRE SI le caractère est dans charlist ALORS Ajouter un antislash avant le caractère dans result SINON Ajouter le caractère tel quel dans result FIN SI FIN POUR CHAQUE RETOURNE result |
Remarques
- Ajout de caractères d'échappement : La fonction addcslashes permet d'ajouter un caractère d'échappement (\) devant les caractères spécifiés dans une chaîne de caractères. Elle est utile pour manipuler des données devant être interprétées dans des environnements nécessitant des échappements spécifiques, comme des scripts ou des expressions régulières.
- Personnalisation des caractères à échapper : Contrairement à addslashes, ciblant uniquement des caractères spécifiques comme les guillemets ou l'apostrophe, addcslashes permet de choisir précisément les caractères à échapper en passant une chaîne de caractères ou un intervalle dans le second paramètre.
- Gestion des plages de caractères : La fonction accepte des intervalles de caractères en utilisant la syntaxe [a-z] dans le second paramètre. Par exemple, addcslashes("bonjour", "a-z") échappe tous les caractères alphabétiques minuscules en ajoutant un \ devant eux.
- Pratique pour les expressions régulières : addcslashes est souvent utilisée pour échapper les caractères spéciaux dans les expressions régulières. Cela évite des erreurs dues à une mauvaise interprétation des caractères spéciaux comme *, + ou ?.
- Différence avec addslashes : Alors que addslashes est limité à l'échappement des guillemets simples, des guillemets doubles, du backslash et des caractères NULL, la fonction addcslashes offre une flexibilité beaucoup plus grande pour personnaliser les caractères à échapper, ce qui la rend plus polyvalente.
- Utilité dans les scripts Shell : Cette fonction est utile lorsque vous manipulez des chaînes destinées à être utilisées dans des scripts Shell. Vous pouvez échapper les caractères pouvant avoir une signification spéciale dans ce contexte, comme $, & ou |.
- Attention aux doubles échappements : Si vous appelez addcslashes plusieurs fois sur une chaîne de caractères sans précaution, vous risquez d'ajouter des doubles échappements inutiles (\\). Cela peut rendre la chaîne difficile à lire ou entraîner des erreurs lors de son traitement ultérieur.
- Performance et lisibilité : Bien que addcslashes soit performante pour des chaînes relativement courtes, son utilisation sur des chaînes très longues avec de nombreuses intervalles à échapper peut affecter légèrement les performances. Pour des traitements complexes ou volumineux, il peut être utile de combiner cette fonction avec des approches alternatives comme preg_replace.
Exemple
Voici un exemple montrant quelques utilisations de cette fonction :

- <?php
- echo addcslashes("ABCttttDEF<br>","t");
- echo addcslashes("\0A\0B\0C\0D\0E\0F\0G\0H","\0..\31");
- ?>
on obtiendra le résultat suivant :
ABC\t\t\t\tDEF\000A\000B\000C\000D\000E\000F\000G\000H
Références
PHP 4 - Guide du développeur, Edition First Interactive, Blake Schwendiman, 2002, ISBN: 2-84427-283-5, page 356
Dernière mise à jour : Dimanche, le 22 mars 2015