PHP expression régulières

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. Merci à vous deux pour votre aide. C'est très sympa :D
    1. Et voila...
      Qd Johan s'en mêle, j'ai toujours l'air d'un couillon... :o)

      Kalamit,
      Je ponce donc j'essuie
      1. Modérateur
        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.