Création
d'entreprise
Posez votre question Signaler

Php regex tres simple, garder que les chiffre [Résolu]

107ans 8Messages postés 22 juillet 2008Date d'inscription - Dernière réponse le 9 mars 2012 à 16:26
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)
Lire la suite 

Php regex tres simple, garder que les chiffre »

7 réponses
Réponse
+18
moins plus
$chaine=ereg_replace("[^0-9]","",$chaine);

marche aussi bien
Guitou - 8 juin 2011 à 13:24
Top !
yop - 10 oct. 2011 à 12:43
génial !
grosratdegueu - 9 mars 2012 à 16:26
la fonction ereg est depréciée
Ajouter un commentaire
Réponse
-2
moins plus
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.
Ajouter un commentaire
Réponse
-4
moins plus
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
Ajouter un commentaire
Ce document intitulé « php regex tres simple, garder que les chiffre » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?