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 :

identifier un nombre contenant un espace


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut identifier un nombre contenant un espace
    Bonsoir,

    pour terminer cette année en beauté, je souhaiterais savoir comment faire pour récupérer une valeur numérique dans une chaîne (dont j'ai viré tout le html) et qui peut prendre la forme suivante :

    Spectateurs560
    ou
    Spectateurs1 568

    Le code suivante fonctionne bien avec Spectateurs560 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    preg_match("#Spectateurs([0-9]{1,6})#" , $texte, $a) ;
    $nb_spectateurs = $a[1] ; 
    print "SPECTATEURS : $nb_spectateurs<br/>" ;
    En revanche, le même code indique 1 pour Spectateurs1 568, au lieu de 1568.

    Normal : le 1 est séparé du reste par une espace.
    J'ai tenté de supprimer les espaces par un ereg_replace mais rien n'y fait.

    Si, entre deux huîtres, vous avez le temps de m'expliquer comment on fait pour intégrer les nombres écrits avec des notations zarbies, je serai ravi (de la crèche !)

    --------
    Modif perso : j'ai idée qu'on doit pouvoir faire un truc avec sprintf ou une fonction du même genre mais je câle...

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    As-tu essayer comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     $texte = "Spectateurs1 568";
          preg_match("#Spectateurs(([0-9]|.){1,6})#" , $texte, $a) ;
    $nb_spectateurs = $a[1] ; 
    print "SPECTATEURS : $nb_spectateurs<br/>" ;
    C'est un peu barbare mais ça a le mérite de fonctionner

  3. #3
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    As-tu essayé comme ceci :
    Forcément non ! Des solutions pareilles, ça ne s'invente pas.
    Bonnes fêtes de fin d'année.

    ---------------------------

    La solution permet effectivement de récupérer de 1 à 6 caractères qui suivent le mot Spectateurs.
    Par contre, ça récupère tout.
    J'ai idée que c'est le point qui indique de tout récupérer.
    Ma question : comment récupérer uniquement les chiffres ?

  4. #4
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    Ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $texte = "Spectateurs1 568";
          preg_match("#Spectateurs(([0-9]|[[:blank:]]){1,6})#" , $texte, $a) ;
    $nb_spectateurs = $a[1] ; 
    print "SPECTATEURS : $nb_spectateurs<br/>" ;
    Ne fonctionne pas non plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $texte = "Spectateurs1 568";
          preg_match("#Spectateurs(([0-9]|[[:space:]]){1,6})#" , $texte, $a) ;
    $nb_spectateurs = $a[1] ; 
    print "SPECTATEURS : $nb_spectateurs<br/>" ;
    Help !

  5. #5
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ca récupère tous les chiffres...C'est pas le but ?

  6. #6
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    Je viens de déterminer une des sources de plantage : le séparateur de milliers
    http://www.developpez.net/forums/sho...d.php?t=257764

Discussions similaires

  1. [XSLT] Récupérer un attribut contenant un espace de noms
    Par GLSpirit dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 20/07/2007, 10h12
  2. passer d'une chaine contenant des espaces a un tableau
    Par flyfrog dans le forum Contribuez
    Réponses: 3
    Dernier message: 26/06/2006, 20h12
  3. Recuperer une variable contenant des espaces
    Par phpaide dans le forum Langage
    Réponses: 9
    Dernier message: 30/05/2006, 16h07
  4. Paramètres contenants des espaces
    Par ujoodha dans le forum Linux
    Réponses: 1
    Dernier message: 12/05/2006, 12h29
  5. Renommer des fichiers contenant des espaces
    Par MatRem dans le forum Linux
    Réponses: 6
    Dernier message: 28/04/2006, 08h21

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