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érer et construire [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Points : 264
    Points
    264
    Par défaut récupérer et construire
    Salut,

    Dans le résultat d'une requête MySQL j'ai un tableau qui ressemble à ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $tab[0] = "background-image: url(bg_page-24.jpg); background-position: left top; background-color: #b5b5b5" ;
    $tab[1] = "background-image: url(bg_page-8.jpg)" ;
    etc...
    Comment je peux récupérer ce qu'il y a entre parenthèses, "bg_page-8.jpg" par exemple et aussi avoir "bg_page-8-small.jpg" sachant que toutes les images ont un nom formaté comme ceci.

    Merci,
    Vincent.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as au minimum essayé quelque chose ?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Points : 264
    Points
    264
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu as au minimum essayé quelque chose ?
    J'ai jamais compris les regexp, l'algorithmique même récursif ca va mais pas les regexp et c'est pas faute d'avoir essayé, mon cerveau bloque tout le temps sur ça.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tout dépend des restrictions et libertés que tu veux mais je te propose ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #background-image: url\((.+)\.(jpg|gif|png)\)#
    Je sépare et filtre intentionnellement les extensions mais tu peux t'en passer.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Points : 264
    Points
    264
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tout dépend des restrictions et libertés que tu veux mais je te propose ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #background-image: url\((.+)\.(jpg|gif|png)\)#
    Je sépare et filtre intentionnellement les extensions mais tu peux t'en passer.
    Oui, il peut y avoir des fonds en png, par contre je sèche sur comment utiliser ta regexp pour mettre le résultat dans une variable, en utilisant ereg_replace ?

    C'est pas comme ceci que je peux utiliser ta solus ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      while($tab[$i]) {
        echo "<br><br> $i:".ereg("background-image: url\((.+)\.(jpg|gif|png)\)", $tab[$i])."---<br><br>" ; 
        $i++ ;
      }
    Parce que cela me renvoi le chiffre 1, c'est normal ?

    Merci,
    Vincent.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     foreach($tab as $key=>$chaine) {
        preg_match("#background-image: url\((.+)\.(jpg|gif|png)\)#", $chaine, $matches);
        if (!empty($matches)) {
            echo "$key : ". $matches[1] . "." . $matches[2] . "<br>" ;
        }
      }

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Points : 264
    Points
    264
    Par défaut
    Gros merci, ca marche nickel

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/09/2010, 21h57
  2. Récupérer 10 nb différents avec un calcul aléatoire
    Par BXDSPORT dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2002, 03h35
  3. récupérer la valeur de sortie d'un thread
    Par jakouz dans le forum Langage
    Réponses: 3
    Dernier message: 31/07/2002, 12h28
  4. Réponses: 11
    Dernier message: 23/07/2002, 15h33
  5. Comment récupérer une adresse MAC ?
    Par psau dans le forum Développement
    Réponses: 7
    Dernier message: 19/07/2002, 18h26

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