Forum-webmaster
Technique - programmation => HTML / CSS / XHTML => Message commencé par: MagicManu le le 10-08-2003 a 14:17:06

Titre: Caractères speciaux dans nom de fichier
Posté par: MagicManu le le 10-08-2003 a 14:17:06

Salut @ tous,
les membres de mon site peuvent proposer des images, je me sert de leurs pseudo pour créer le nom des fichiers.
Mais forcements quand un pseudo a des caractères spéciaux ça bug ! (comme \ / * ' &).
Comment filtrer ces noms pour avoir une chaine de caractère compatible avec les noms de fichier ??)

Ex : L'ar&gné -> Largné

Merci, Manu.
www.magicmanu.com

Titre: Re:Caractères speciaux dans nom de fichier
Posté par: SIBELIUS le le 10-08-2003 a 17:30:33

Je ne comprends pas ton exemple : tu veux rendre les chaînes de départ compatibles avec des noms de fichiers (Ex : L'ar&gné -> Largné)... mais "Largné" n'est pas du tout compatible comme nom de fichier puisqu'il comporte un accent. ???

Tu peux remplacer ainsi chaque caractère spécial :

str_replace("é", "e", $ta_chaine) ;
str_replace("'", "", $ta_chaine) ;
...

Titre: Re:Caractères speciaux dans nom de fichier
Posté par: Toutankharton le le 10-08-2003 a 19:46:18

la solution serait peut etre de prendre le probleme à la racine : tu fait un formulaire en javascript au depart et quand le visiteur s'inscrit avec un pseudo comportant des caracteres que tu n'accepte as, tu lui dit de réessayer.

Tu t'embeteras moins dans le code je pense

Titre: Re:Caractères speciaux dans nom de fichier
Posté par: Jey le le 11-08-2003 a 03:44:34

Citation de: Toutankharton le le 10-08-2003 a 19:46:18
la solution serait peut etre de prendre le probleme à la racine : tu fait un formulaire en javascript au depart et quand le visiteur s'inscrit avec un pseudo comportant des caracteres que tu n'accepte as, tu lui dit de réessayer.

Tu t'embeteras moins dans le code je pense

javascript c'est contournable...
autant faire les vérifications avec un langage coté serveur :)

Titre: Re:Caractères speciaux dans nom de fichier
Posté par: MagicManu le le 12-08-2003 a 10:42:37

En fait le formulaire d'inscription est un forum phpBB2 donc je ne tiens pas a le modifier.
Ensuite je me sers de la BdD des pseudos partout sur mon site.
str_replace me semble bien addapté mais comment l'utiliser ?
Il faudrai faire autant de boucles que de caratères incompatible et parcourir tous les caractères du pseudo a chaque fois ?
C'est pas très pratique, je pensai qu'il y aurai un fonction qui ferai ça d'un seul coup, même si la chaine d'arrivée n'as plus rien a voir avec le pseudo.
Ou alors remplacer par des chiffres peut être ?

Titre: Re:Caractères speciaux dans nom de fichier
Posté par: Cocci le le 12-08-2003 a 11:43:38

Déjà c'est pas tip top d'utiliser le formulaire du forum pour ton site ... car phpBB est un véritable usine..mais qui sait se gérer ... Moi je te conseillerai d'avoir ton formulaire à toi..d'une c'est plus propre, de deux c'est mieu pour tes visiteurs !!

En ce qui concerne le str_replace...il va te falloir une fonction dans ce genre ...


Code:

function change_caract($texte)
{

# On définie les caracrtères spéciaux avec leur remplacant
$caract_spec = array("é"=>"e",
"è"=>"e",
"&"=>" ",
"/"=>" ")

# A partir du tableau si dessus, nous allons modifier la variable $texte
while(list($char,$newchar) = each($liste_smiley))
{
$texte = str_replace($char,$newchar,$texte);
}

return $texte;

}


Le code devrait ressembler a cela !

Dans le tableau, tu met tt les caractères spéciaux que tu souhaite remplacer avec le caractère qui le remplacera !

Ceci est une solution parmi tant d'autres !! A toi de voir ce que tu souhaite faire !!

++ ;D


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.