[PHP] supprimer tous les caracteres "non conventionels" dans un text
Forum Programmation : [PHP] supprimer tous les caracteres "non conventionels" dans un text
salut a tous, bon ben voila j'explique:
j'ai un textearea qui done donc un $_POST['texte'] que j'enregistre sous la variable $texte
ce que le veu c'est que le texte contenu dans $texte ne contienne que des caracteres "de base" (lettres, chiffre, ponctuation simple)...
en gros virer tous les caracteres "compliqués" comme $*^° etc etc...
comment faire ? :-P
merci d'avance,
je crois que c'est ton jour de chance ^^ voila ce que moi j'utilises :
Code :
|
voila je précise que la fonction n'est pas de moi. Et j'en remerci son auteur d'ailleurs ;-) :-D
EDIT : j'ai oublié des fonctions que j'utilises dans cette fonction :
function left($txt,$nb=1)
{
return substr($txt,0,$nb);
}
function right($txt,$nb=1)
{
return substr($txt,strlen($txt)-$nb,$nb);
}
function rogneleft($txt,$nb=1)
{
return substr($txt,$nb,strlen($txt));
}
function rogneright($txt,$nb=1)
{
return substr($txt,0,strlen($txt)-$nb);
}
merci a toi j'essayerai ca des que j'aurai le temps ;-)
oups érreur...
la fonction left avec left($garde) n'es pas définie :-(
Salut,
Un moyen puissant et rapide les REGEXP
Cherche un peu sur le net tu trouveras surement ton bonheur
Cordialement S62.
oui regarde mon post je l'ai édité
dsl j'avais pas fait gaffe au fonction que j'utilisais !
la tout y est maintenant
merci Kymic c'est nikel ;-)
Pour ceux qui recherchent une solution plus courte: ereg_replace('([^a-zA-Z0-9])', '', $sString)
Plutôt utiliser preg_replace que ereg_replace qui va prochainement disparaitre de PHP (dans la version 5.3 il lance une alerte et sera supprimé à partir de PHP6) car trop lent.
Le preg_replace() utiliser ci dessus ne gardera que les caractères de A à Z majuscules et minuscules et chiffres mais j'ai cru comprendre que tu voulais les apostrophes et d'autres trucs.
Maintenant faut savoir le pourquoi tu veux faire ça, si c'est pour un soucis de sécurité, je te conseille de tout garder mais de juste faire en sorte que le code html qui serait injecté soit affiché comme entré dans le formulaire, donc pas en créant une mise en forme.
J'utilise la fonction suivante:
Code :
|
Attention, le addslashes n'est à mettre que si tu insères dans une base de données, et si tu veux récupérer ces données par après ne pas oublier de faire un
$var = stripslashes($donnees);
Il y a 497 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
