PHP expression régulières

wagner51 Messages postés 10 Statut Membre -  
wagner51 Messages postés 10 Statut Membre -
Bonjour,
J'utilise PHP 4.0. Je souhaite écrire une fonction qui scanne une chaîne de caractère et qui extrait chaque chiffre. Les chiffres extraits sont mis les uns derrière les autres afin de créer une nouvelle chaîne ne contenant que les chiffres extraits. On obtient donc un nombre.

J'ai écris ceci mais cela s'arrête à la première occurence seulement. Je souhaiterais que cela scanne toute la chaîne de caractères... Merci pour votre aide.

function recup_digits($chaine)
{
ereg("([0-9]).",$chaine,$chaine2);
return $chaine2[0];
}

4 réponses

  1. jisisv Messages postés 3678 Statut Modérateur 936
     
    Essaye qqch du genre:
    [johand@zoot] ~/src/php $cat chiffres.php
    <?php
    function getdigits($string)
    {
    $res = preg_match_all("/([0-9])/", $string, $results);
    // http://php.easynet.be/manual/en/function.join.php
    // http://php.easynet.be/manual/en/function.preg-match-all.php
    $nombre = join("", $results[1]);
    return $nombre;
    }

    $s1="a1b2c3";
    print(getdigits($s1). "\n");
    $s1="a12b34c56d";
    print(getdigits($s1) . "\n");
    ?>

    [johand@zoot] ~/src/php $php4 -q chiffres.php
    123
    123456

    Johan
    The software said "Requires Windows98, Win2000, or better,
    So I installed Unix.
    0
  2. kalamit
     
    Et voila...
    Qd Johan s'en mêle, j'ai toujours l'air d'un couillon... :o)

    Kalamit,
    Je ponce donc j'essuie
    0
  3. wagner51 Messages postés 10 Statut Membre
     
    Merci à vous deux pour votre aide. C'est très sympa :D
    0