Php regex tres simple, garder que les chiffre
Résolu
Bonjour,
je souhaite ne garder que les chiffres d'une variable et enlever le reste
car je commence tout juste le web
par exemple j'ai ceci
$variable = lalala12345;
et je veux juste les chiffres
$variable = 12345;
comment faire ?
nb : dans $variable il n'y a rien apres (ex : lalala12345lalala) mais juste avant (ex : lalala12345)
je souhaite ne garder que les chiffres d'une variable et enlever le reste
car je commence tout juste le web
par exemple j'ai ceci
$variable = lalala12345;
et je veux juste les chiffres
$variable = 12345;
comment faire ?
nb : dans $variable il n'y a rien apres (ex : lalala12345lalala) mais juste avant (ex : lalala12345)
Configuration: Windows XP Firefox 3.0.1
3 réponses
-
$chaine=ereg_replace("[^0-9]","",$chaine);
marche aussi bien -
Bonsoir,
Voici un code qui fonctionne, il existe peut être plus simple.
<?php
$message = "abc5897";
$carac = 0;
$taille = strlen($message);
if (preg_match("/[0-9]/i", $message)) { // On test si la chaine contient des chiffres
while ($carac <= $taille-1) { // tant qu'il y a des caractères
$Chaine = $message{$carac}; // on prend caractère par caractère
if((ord($Chaine) <= ord("9")) && (ord($Chaine) >= ord("0")) ){ // si le caractere est un chiffre
$chiffre .= $Chaine;
}
//$debut = $debut + 1;
//$fin = $fin + 1;
$carac++;
}
echo $chiffre;
}
?>
Bonne soirée. -
Bonsoir,
je ne suis pas un pro de programmation ou de php ;)
Mais je peux juste te donner une idée de principe (Cependant il doit certainement y avoir plus optimal et plus simple) :
=============
La synthaxe du code est complètement fausse c'est juste pour l'idée
=============
// Ta variable de base
$variable = lalala12345;
// Une variable temporaire en dehors de la boucle (Je sais pas si il y a besoin)
$var;
// Une boucle qui te permettra de tester chaque caractère de
// ta chaine pour savoir si c'est numérique ou non.
for (i=0; i<(strlen($variable)-1);i++) {
// Permet de sélectionner quel caractère tu va tester avec le i de la boucle
$j=$i++;
// Chaque tour de boucle tu va tester le caractère suivant
$str=substr($variable, $i, $j );
// Si le caractère est de type entier
if (is_int($str)){
// Tu l'ajoutes aux autres
$var=$var+$str;
}
// Ensuite tu testes le caractère suivant
}
Navré, de ne pouvoir te donner le code exact mais c'est comme sa que je vois les choses.
Tiradus