Enlever accents dossier php

TRUNCKS Messages postés 1066 Statut Membre -  
TRUNCKS Messages postés 1066 Statut Membre -
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 :)

11 réponses

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


    Pour enlever les espaces :
    $text='ton texte';
    $text=str_replace(' ','',$text);
    0
  3. TRUNCKS Messages postés 1066 Statut Membre 8
     
    Merci pour la réponse,

    J'ai vu cet exemple sur le site, mais je n'arrive pas à l'appliquer à mon cas :(
    0
  4. MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   163
     
    Ben en claire faut utiliser la fonction stripAccents.
    Cela va donner quelques chose comme ça : stripAccents($variable);

    Arrives-tu à utiliser l'autre script ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. TRUNCKS Messages postés 1066 Statut Membre 8
     
    Merci d'avoir répondu, mais j'ai un petit bug.

    Il me met Yi pour é et Yo pour è ^^
    0
    1. MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   163
       
      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
  7. TRUNCKS Messages postés 1066 Statut Membre 8
     
    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
  8. MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   163
     
    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
  9. TRUNCKS Messages postés 1066 Statut Membre 8
     
    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
  10. MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   163
     
    Essai de mettre : mkdir($chaine);

    Pour voir ce que ça tourne, soyons fou !
    0
  11. TRUNCKS Messages postés 1066 Statut Membre 8
     
    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
    1. MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   163
       
      met la en iso-8859 (iso-8859-1 eventuellement)
      0
  12. TRUNCKS Messages postés 1066 Statut Membre 8
     
    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