IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Récupération d'un nom de fichier [RegEx]


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Récupération d'un nom de fichier
    Bonjour à tous.

    Je souhaite exporter un blog (DotClear) vers un PDF avec FPDF.

    Pour le texte, pas difficile, pour l'image c'est du code HTML

    <img src='images/dossier/monimage.jpg'>
    J'aimerai extraire le nom du fichier, sachant qu'il peut y avoir du texte avant et après ou plusieurs images.

    Je pense qu'il faut passer par les REGEXP mais je m'en sors pas.
    Si vous aviez une idée, ca m'aiderait enormement. :

  2. #2
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Imaginons que tu as ton code dans une variable string :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ligne = "<img src='images/dossier/monimage.jpg'>";
    Tu dois pouvoir extraire le nom de l'image par les regexp made in perl :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nom_img = preg_replace('/.*src=\'.*\/(.*\.jpg)\'/' , '$1' , $ligne);
    $nom_img doit alors contenir "monimage.jpg"

    PS : je n'ai pas le quoi tester sur place, il peut y avoir une petite erreur dans la regexp mais l'idée est là.

    JM
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci

    Peux tu detailler la regex je voudrais pas mourir bete.


    Je voulais pas aller aussi loin, parce que je veux le chemin complet de l'image

  4. #4
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Décortiquons cte vilaine bébête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /.*src=\'.*\/(.*\.jpg)\'/
    / : debut de la regexp

    .*src=\' : tout ce qu'il y jusqu'à "src='". Notons bien l'échapement du guillemet : \'. Par forcément utile, mais je préfère pas jouer au plus con avec ce genre de caractère. Comme ça, je suis peinard.

    .*\/ : tout ce qu'il y a jusqu'au dernier slash, ce dernier étant aussi échappé, et ce coup-ci c'est obligatoire.

    (.*\.jpg) : j'attrape le nom de l'image en repérant l'extension .jpg Pour ce faire, encore obligation d'échapper le point.

    \' : le dernier guillemet échappé. Ca c'est facultatif, c'est pour être sûr d'être au bon endroit

    / : fin de l'expression

    Nous aurons dans la variable "magique" $1 ce qui est attrapé dans la première paire de parenthèses, à savoir (.*\.jpg) et ce qui doit être justement ce qu'on veut... Si tout va bien
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  5. #5
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Pour le chemin de l'image, c'est vachement plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $path = preg_replace('/.*src=\'(.*)\'/ , '$1' , $ligne);
    ou si tu veux être sûr de choper du jpeg :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $path = preg_replace('/.*src=\'(.*\.jpg)\'/ , '$1' , $ligne);
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci je teste tout ca des que je trouve le temps ..........

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupération d'un nom de fichier lors de l'upload
    Par adel25 dans le forum Langage
    Réponses: 3
    Dernier message: 01/02/2009, 19h39
  2. Récupération d'un nom de fichier
    Par t0ny95 dans le forum Débuter
    Réponses: 9
    Dernier message: 31/07/2008, 14h05
  3. script batch - récupération d'un nom de fichier
    Par persam dans le forum Windows
    Réponses: 1
    Dernier message: 19/07/2007, 10h45
  4. Récupération d'un nom de fichier et d'un répertoire
    Par laurentdepibrac dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/07/2007, 10h36
  5. Récupération d'un nom de fichier
    Par chmaichel dans le forum Delphi
    Réponses: 17
    Dernier message: 10/07/2006, 15h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo