Anonymus
dimanche 7 août 2005 à 07:15
Le problème auquel tu es confronté est que tu ne sais (a priori) pas combien d'antislashes tu dois enlever.
A faire une fonction qui en enlève 'jusqu'à' une dizaine, tu pourrais bien enlever des slashes qui auraient été mis sans vouloir échapper quoique ce soit.
Ce genre d'erreur est dû aux formulaires qui ajoutent des slashes. On entre son nom, style : O'Hara, et ca ajoute un slashe : O\'Hara. Si l'on se sert de la fonction 'Retour', ca garde le slashe, et lorsque l'on revalide ca recréé un slashe échappement pour l'apostrophe, mais aussi pour le slashe existant. Ca multiplie ainsi à chaque fois, le nombre de slashes. Le formulaire de contact d'OVH est fait ainsi...
Si tu demandes à enlever les slashes, sans savoir s'il y en a 1, 5 ou 10 à enlever, alors les noms du style : \/ictoire (avec un slashe et un antislashe) vont te créer des bugs..
Une des solutions est peut etre justement de les compter :
S'il y en a qu'un seul (sans apostrophe derrière), alors il est volontaire. S'il y en a 2, ou s'il y a un apostrophe derrière, c'est qu'il a été ajouté automatiquement. Mais on imagine aussi comme cela que ca peut créer des bugs

Une seconde solution pourrait être de les remplacer par des espaces (!?)
A voir