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 :

Extraire un mot d'une chaine de caractère


Sujet :

Langage PHP

  1. #1
    Gunner4902
    Invité(e)
    Par défaut Extraire un mot d'une chaine de caractère
    Bonjour,

    Utilisant la numérotation de windows pour les images - nomfichier (1).jpg - je souhaite retourner la valeur nomfichier en excluant le nombre et l'extension, ainsi que le chemin du fichier.

    Le code suivant fonctionne bien, mais j'aurai voulu savoir si l'on pouvait faire plus court :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
      $image = "images/test/auto_ (1).jpg";
      ereg("^(.+)\_(.+)$", $image, $nn);
      ereg("^(.+)\/(.+)$", $nn[1], $nnn);
      echo "$nnn[2]";   //auto
    ?>
    Merci

  2. #2
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 183
    Points : 121
    Points
    121
    Par défaut
    Juste une remarque :

    Note: preg_match(), qui utilise la syntaxe des expressions rationnelles compatibles PERL, est une alternative plus rapide de ereg().
    (http://fr.php.net/manual/fr/function.ereg.php)

  3. #3
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut, il me semble que si tu utilises cette regex, ça devrait marcher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $regex = '`(([^/]*/)*)([^/\(]*)( \([0-9]+\))?\..*$`';
    Tu auras le nom de ton fichier au rang 3

    C'est pas optimisé du tout, mais ça devrait marcher

    Bon développement

  4. #4
    Gunner4902
    Invité(e)
    Par défaut
    En effet, celà fonctionne avec la fonction regex, je viens de tester.
    Merci Nesmontou

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/12/2013, 16h40
  2. Réponses: 0
    Dernier message: 27/12/2008, 23h49
  3. [Tableaux] Extraire des mots d'une chaine de caractères
    Par pratiquement dans le forum Langage
    Réponses: 5
    Dernier message: 24/01/2008, 09h20
  4. recherche de mots dans une chaine de caractères
    Par jeanfrancois dans le forum Langage
    Réponses: 5
    Dernier message: 10/02/2006, 10h47
  5. Réponses: 9
    Dernier message: 17/01/2003, 11h45

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