addcslashes

addcslashes -- Ajoute des slashes dans une chaîne, à la mode du langage C

Description

string addcslashes ( string str, string charlist)

addcslashes( ) retuorne 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 échapppe 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 (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 1 . Exemple avec addcslashes( )

 
?php

 
$escaped

 
=

 
addcslashes(

 
$not_escaped

 
,

 
"\0..\37!@\177..\377")

 
;

 
?





Lorsque vous définissez une séquence de caractère dans le paramètre charlist , assurez-vous que vous connaissez bien tous les caractères qui viennent entre vos limites d ' intervalle .

 
?php

 
echo

 
addcslashes(

 
'foo

 
[

 
]'

 
,

 
'A..z')

 
;

 
/

 
/

 
affiche

 
:

 
\f\o\o\

 
[

 
\

 
]

 
/

 
/

 
Toutes

 
les

 
majuscules

 
et

 
minuscules

 
seront

 
eacute;chapp

 
eacute;es

 
/

 
/

 
..

 
.

 
mais

 
aussi

 
les

 
caract

 
egrave;res

 
[\

 
]^_`

 
et

 
les

 
tabulations

 
/

 
/

 
retours

 
chariots

 
,

 
nouvelles

 
lignes...

 
.

 
?



De plus, si le premier caractère d'un interval a un code ASCII plus petit que le second, l'intervalle ne sera pas créé. Seuls les bornes de l'intervale et le caractères points (.) seront échappé. Utilisez la fonction ord() pour trouver la valeur ASCII d'un caractère.
 
?php

 
echo

 
addcslashes(

 
"zoo['

 
.']"

 
,

 
'z..A')

 
;

 
/

 
/

 
affiche

 
:

 
\zoo['\

 
.'

 
]

 
?





Voir aussi stripcslashes( ) , stripslashes( ) , htmlspecialchars( ) et quotemeta( ) .