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 :

recupérer des chiffres dans chaine de caractere


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut recupérer des chiffres dans chaine de caractere
    Bonjour a tous.


    Voici un exemple :
    {
    position: absolute;
    left:389px;
    top:1099px;
    z-index: 1;
    }


    Je desire recupérer seulement les chiffres, et enlever les lettres. Attention, les chiffres peuvent avoir une ou plusieurs colonnes

    Il y a t'il une fonction precise adaptée a ce probleme, si oui laquelle, ( pas le code, juste le nom de la fonction), merci a tous.

    J'avais pensé a la fonction explode, mais ca ne marche que pour les string.

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je vois pas bien le rapport avec explode explode découpe une chaine en se basant sur un séparateur. Là tu veux extraire des nombres d'une chaine et les stocker (je suppose) dans un tableau.

    Personnellement, j'utiliserai preg_​match_​all :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    preg_match_all('/([0-9]+)/', $la_chaine, $results);
    var_dump($results);
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    Merci Celira,
    j'etais sur la fonction preg match all sur internet, mais je voyais pas trop comment faire.


    Je viens de l'utiliser,
    j'aurais voulu que les chiffres soient "intact", et ne fasse que deux tableaux, et pas autant de cases de tableaux qu'il y a de chiffre.

    J'aurais voulu recuperer des chiffres comme ceci :
    389, 1099.

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je ne suis pas bien sûre... Tu pourrais poster les deux versions : ce que tu obtiens actuellement et ce que tu voudrais obtenir à partir de ta chaine d'exemple ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    Voila ce que j'obtiens :


    array(2) { [0]=> array(3) { [0]=> string(4) "6789" [1]=> string(3) "888" [2]=> string(1) "1" } [1]=> array(3) { [0]=> string(4) "6789" [1]=> string(3) "888" [2]=> string(1) "1" } }

    J'aurais voulu :

    un array, ayant les deux chiffres complets.



    Avec Print_r, c'est un peu plus clair , mais pas comme je voudrais :
    Array ( [0] => Array ( [0] => 6789 [1] => 888 [2] => 1 ) [1] => Array ( [0] => 6789 [1] => 888 [2] => 1 ) )

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Ah oui, preg_match_all renvoie un tableau à plusieurs dimensions pour gérer les différents groupes capturants. Sauf que là, on a un seul groupe, donc le tableau général ($results[0]) et le tableau du 1er groupe ($results[1]) sont identiques. Tu peux donc travailler avec $results[1] directement.
    Par contre, la regex est basique, donc elle trouve 3 nombres et non 2, parce qu'elle voit aussi le 1 de la ligne z-index.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    Je te remercie Celira,
    je vais faire comme tu as dit.

    Bonne journée, et merci pour ton aide.

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/07/2014, 13h05
  2. Réponses: 3
    Dernier message: 16/06/2011, 11h00
  3. Réponses: 5
    Dernier message: 26/08/2008, 16h00
  4. Affichage des chiffres dans une phrases arabe
    Par omda dans le forum Oracle
    Réponses: 4
    Dernier message: 30/09/2005, 13h36
  5. Test si il y a des chiffres dans un champs
    Par deaqu1 dans le forum Access
    Réponses: 4
    Dernier message: 14/06/2005, 21h36

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