adcslashes pour tous les caractères ?
Bonjour,
J'aimerais savoir si on pouvait via la fonction adcslashes mettre un signe d'échappement devant tout les caractères spéciaux... J'ai beau chercher je n'arrive pas à trouver !
J'ai tenter quelque chose mais bof, bof :
Code:
1 2
|
addcslashes($chaine, " &é~\"#'{([-|è`_\ç^à@)])=}^¨$-£*µù%!§:/;.,?/*+.<>"); |
Deux problèmes :
1 : les espaces ne sont pas pris en compte
2 : quand j'ai des chaines de types "Salut !!!" les points d'exclamation ne sont pas échappés...
Après, je ne sais pas si ça vient de la, mais j'ai fait donc une fonction pour "coder" une chaine, et une fonction pour la "décoder" bien sûre :
Code:
1 2 3 4 5 6 7 8 9 10
|
// Encoder une chaine
function encoder($chaine){
return addcslashes($chaine, " &é~\"#'{([-|è`_\ç^à@)])=}^¨$-£*µù%§:/;.,?/*+.<>!");
}
// Décoder une chaine
function decoder($chaine){
return utf8_decode(utf8_encode(nl2br(stripcslashes($test))));
} |
Et par exemple quand j'ai un script du genre :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
<?php
$rq = @mysql_query("SELECT * FROM pages");
while($tab=@mysql_fetch_array($rq)){
echo "\t<tr>\n";
echo "\t\t<td>".decoder($tab['id'])."</td>\n";
echo "\t\t<td>".decoder($tab['nom'])."</td>\n";
echo "\t\t<td>".decoder($tab['titre'])."</td>\n";
echo "\t\t<td><a href=\"?modif=".decoder($tab['id'])."\">Modifier</a></td>\n";
echo "\t\t<td><a href=\"?suppr=".decoder($tab['id'])."\">Supprimer</a></td>\n";
echo "\t</tr>\n";
}
?> |
impossible d'afficher les informations !!!!
Des idées ? Merci d'avance...