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 :

Comment séparer un chaine de caractère qui change


Sujet :

Langage PHP

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut Comment séparer un chaine de caractère qui change
    Bonjour à tous,

    Je ne suis pas un grnad connaisseur des expresions régulières et je pense que je dois passer par la pour résoudre mon problème

    j'ai une chaine de caractère qui commence toujours par page_xx ou page_x

    le x correspong à l'id de mes pages, pouvant aller de 1 (pas 01) à 100 (voir plus)

    J'ai besoin de mettre dans un tableau tous ce qui se trouve avant et après le "-"
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    page_xx-DCS00009.jpg
    array=new(
    '1' => 'page_xx,
    '2' => 'DCS00009.jpg)

    Comment puis faire une expression régulière qui ca détecter le
    page_x, ou page_xx ou page_xxx

    Je vous remercie pour votre aide, car là, je nage.

    Bonne soirée
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    pas besoin de regex fait un explode ou un sscanf

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Ben j'ai pemsé au explode,
    mais je base sur quoi.
    Si je me base sur "page", il va me séparer le chiffre (les x) alors qui doivent rester avec page.
    (En fait je fait ceci car je doit renommer la deuxième partie alors que "page_" et les xxx doivent resté "indem".

    Donc si je fais une explode sur "page" les xxx vont etre séparés et je ne peut pas faire un explode sur les xxx, car il change.

    Aussi j'ai oublié de préciser un truc, pour compliquer.

    Mon image va devoir s'appeler (un peu plus tard, donc à pérvoir)

    page_xxx_y_DCS0009-jpd.

    les "x" pour l'id de la page (qui ne devrait pas dépasser 2 caractère)
    le "y" pour le nombre d'image correspondant à xxx.

    Et évidement DCS0009.jpg doit être séparéde ce qui lui précède car il va etre rennomé en ...large.jpg et ...small.jpg

    Je ne connais pas sscanf(), mais je vais voir de suite

    Merci
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  4. #4
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    ha peut etre que ca peut faire l'affaire?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list($serial) = sscanf("page_23_5-DCS009.jpg", "page_%d_%d-");
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    C'est bien j'arrive faire ca
    Array ( [0] => 23 [1] => 5 [2] => DCS009.jpg [3] => )
    avec ca
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    print_r(sscanf("page_23_5-DCS009.jpg", "page_%d_%d-%s.%s"));

    Mais je n'arrive pas à faire ca
    Array ( [0] => 23 [1] => 5 [2] => DCS009 [3] =>.jpg )
    Pourtant %s c'est pour une chaine de caractère (.%s)?
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print_r(sscanf("page_23_5-DCS009.jpg", "page_%d_%d-%[^.].%s"));

Discussions similaires

  1. Chercher une expression dans une chaine de caractères qui change
    Par blanquettedeveau dans le forum VBScript
    Réponses: 7
    Dernier message: 27/05/2014, 20h29
  2. Réponses: 3
    Dernier message: 30/05/2013, 22h27
  3. Chaine de caractère qui change de valeur
    Par HaTnuX dans le forum C
    Réponses: 7
    Dernier message: 03/12/2006, 23h58
  4. Réponses: 2
    Dernier message: 14/01/2005, 15h40
  5. comment vider une chaine de caractère
    Par gaut dans le forum C
    Réponses: 13
    Dernier message: 12/09/2003, 11h30

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