PHP expression régulières

Fermé
wagner51 Messages postés 10 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 20 mars 2003 - 28 janv. 2003 à 11:18
wagner51 Messages postés 10 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 20 mars 2003 - 29 janv. 2003 à 10:52
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];
}
A voir également:

4 réponses

Utilisateur anonyme
28 janv. 2003 à 16:17
Salut,
Je te propose une solution un peu tordu mais c'est tou ce qui me vient à l'esprit pour le moment. :o)
La fonction split() correspond peut etre plus à ce que tu veux faire...
http://www.php.net/manual/fr/function.split.php

Kalamit,
Je ponce donc j'essuie
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
28 janv. 2003 à 17:02
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
Utilisateur anonyme
28 janv. 2003 à 17:36
Et voila...
Qd Johan s'en mêle, j'ai toujours l'air d'un couillon... :o)

Kalamit,
Je ponce donc j'essuie
0
wagner51 Messages postés 10 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 20 mars 2003
29 janv. 2003 à 10:52
Merci à vous deux pour votre aide. C'est très sympa :D
0