Enlever accents dossier php

Fermé
TRUNCKS Messages postés 1017 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 8 novembre 2024 - Modifié par TRUNCKS le 29/10/2011 à 13:32
TRUNCKS Messages postés 1017 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 8 novembre 2024 - 30 oct. 2011 à 17:06
Bonjour à vous,

A la création d'un dossier, j'aimerai savoir comment enlever les accents et les espaces.

$main= "../images/$nom_categorie/"; 

mkdir($main); 


Merci à vous :)
A voir également:

11 réponses

MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
29 oct. 2011 à 17:02
Essai ceci :
<?php
function stripAccents($string){
	return strtr($string,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ',
'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');
}
$main= "../images/$nom_categorie/"; 

$text = $main;
$text=str_replace(' ','',$text);

$text2 = stripAccents($text);

mkdir($text2); 

?>
1
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
29 oct. 2011 à 17:03
PS : je sais pas si sa va marcher x)
0
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
29 oct. 2011 à 17:04
Je viens de tester normalement ça marche :p
0
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
29 oct. 2011 à 16:54
Bonjour,
Pour enlever les accents :
function stripAccents($string){
	return strtr($string,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ',
'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');
}


Pour enlever les espaces :
$text='ton texte';
$text=str_replace(' ','',$text);
0
TRUNCKS Messages postés 1017 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 8 novembre 2024 7
29 oct. 2011 à 16:56
Merci pour la réponse,

J'ai vu cet exemple sur le site, mais je n'arrive pas à l'appliquer à mon cas :(
0
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
29 oct. 2011 à 17:00
Ben en claire faut utiliser la fonction stripAccents.
Cela va donner quelques chose comme ça : stripAccents($variable);

Arrives-tu à utiliser l'autre script ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TRUNCKS Messages postés 1017 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 8 novembre 2024 7
29 oct. 2011 à 18:32
Merci d'avoir répondu, mais j'ai un petit bug.

Il me met Yi pour é et Yo pour è ^^
0
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
29 oct. 2011 à 18:49
J'ai vu ça, je ne sais trop pourquoi recherche une autre fonction, je pense que tu as compris comment ça marchait. Sinon je pense que c'est pas super important qu'un dossier à un nom bidon x).
0
TRUNCKS Messages postés 1017 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 8 novembre 2024 7
29 oct. 2011 à 18:54
Ben en fait, j' suis en train de me rendre fou mdr

J'essaye de faire que ces dossiers aient un nom bien précis, pour pouvoir ensuite, lorsque j'upload des images, pouvoir les rediriger dans le bon dossier en fonction du nom de la catégorie demandée ^^
0
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
29 oct. 2011 à 20:08
Ok, essai ce morceau de code (je ne l'ai pas testé)
function wd_remove_accents($str, $charset='utf-8')
{
    $str = htmlentities($str, ENT_NOQUOTES, $charset);
    
    $str = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $str);
    $str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); // pour les ligatures e.g. '&oelig;'
    $str = preg_replace('#&[^;]+;#', '', $str); // supprime les autres caractères
    
    return $str;
}
0
TRUNCKS Messages postés 1017 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 8 novembre 2024 7
30 oct. 2011 à 08:17
Je pense que le problème ne vient pas du script, mais de moi qui doit mal le présenter.

J'ai fait cela:

main= "../images/$nom_categorie/";

// enlever les accents

$chaine = strtr($main, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');

// remplacer les caracteres autres que lettres, chiffres et point par _

$chaine = preg_replace('/([^.a-z0-1]+)/i', '_', $main);

mkdir($main);
0
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
30 oct. 2011 à 11:25
Essai de mettre : mkdir($chaine);

Pour voir ce que ça tourne, soyons fou !
0
TRUNCKS Messages postés 1017 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 8 novembre 2024 7
30 oct. 2011 à 16:31
Rha je viens de réussir à le faire marcher,

Mais je suis en train de devenir fou lol,

Si j'enlève cette ligne:

header('Content-type: text/html; charset=UTF-8');

Mon image arrive bien sans les accents comme je veux, mais du coup, je reste de ma page n'a plus les accents.

Si je le met, j'ai les accents, mais l'image uploadé prend des caractères bizarres.

Je comprend pas, je viens de tout passer au peigne fin, tout est en utf-8, sql aussi, je capte rien.
0
MastercroW Messages postés 1094 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
30 oct. 2011 à 16:58
met la en iso-8859 (iso-8859-1 eventuellement)
0
TRUNCKS Messages postés 1017 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 8 novembre 2024 7
30 oct. 2011 à 17:06
Malheureusement je ne peux pas, j'ai tout mon site en utf-8 :(

Cela me le fait vraiment uniquement lors de la création/upload d'un fichier ( dossier ou image )
0