Partage
  • Partager sur Facebook
  • Partager sur Twitter

[REGEX] Renommer un fichier

    25 mars 2019 à 19:42:57

    Bonjour,

    Je cherche à renommer un nom de fichier en fonction des différents caractères spéciaux qui le compose.

    Par exemple, le fichier Téléchargement @-%(1)^ devra à la fin se nommer Telechargement_-1.

    J'arrive à faire ceci en remplaçant manuellement caractère spécial par caractère spécial et cela fonctionne à merveille.

    Le problème est que je ne connais pas tous les caractères spéciaux à rajouter.

    Ce que je cherche à faire est à partir de mon regex qui vérifie que mon nom de fichier est valide remplir automatiquement un tableau qui comporterait tous les caractères spéciaux de mon nom de fichier de départ.

    Je n'arrive pas à remplir ce tableau.

    Voici mon code:

            if (!preg_match('/^([-\.\w]+)$/', $string, $matches)) {
                $search  = [$matches];
                $replace = ['_', '', ''];
                $string  = str_replace($search, $replace, $string);

    Actuellement matches me retourne mon nom de fichier de départ.

    PS: Je précise que je ne suis pas familier avec les regex et que j'ai bien sûr chercher sur Internet.

    Merci d'avance pour vos réponses! :)

    • Partager sur Facebook
    • Partager sur Twitter
    "Ils ne savaient pas que c'était impossible, alors ils l'ont fait" Mark Twain
      26 mars 2019 à 11:51:23

      Salut,

      pour les remplacements tu as la fonction preg_replace()

      Et voici tout ce qu'il te faut savoir sur les expressions régulières:

      https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/916990-les-expressions-regulieres-partie-1-2

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        26 mars 2019 à 13:58:00

        Hello. Mon choix personnel irait plutôt vers la lib intl pour ce genre de transformation.
        https://3v4l.org/p4hrt

        • Partager sur Facebook
        • Partager sur Twitter

        [REGEX] Renommer un fichier

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown