Rechercher : dans
Par :

Php regex tres simple, garder que les chiffre

Dernière réponse le 25 sep 2008 à 14:34:46 107ans, le 23 jui 2008 à 21:34:09 
 Signaler ce message aux modérateurs

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)

Configuration: Windows XP
Firefox 3.0.1

Meilleures réponses pour « php regex tres simple, garder que les chiffre » dans :
Sed - Supprimer une ou plusieurs lignes d'un fichier VoirSupprimer une (ou plusieurs) ligne(s) d'un fichier Syntaxe sed '{[/]||[/]}d' sed '{[/][,][/]d' /.../ = délimiteurs n = le numéro de ligne chaîne = la chaîne contenue dans la...
PHP - Code antispam avec chiffres et lettres (CAPTCHA) VoirSur de nombreux sites, dont CommentCaMarche, les formulaires sont accompagnés d'un encart demandant de recopier un code généré aléatoirement. Un tel système, appelé CAPTCHA, permet de limiter les envois abusifs automatisés (SPAMS). Les sites...
WEP - Wired Equivalent Privacy VoirIntroduction au WEP Pour remédier aux problèmes de confidentialité des échanges sur les réseaux sans fils, le standard 802.11 intègre un mécanisme simple de chiffrement des données, il s'agit du WEP, Wired equivalent privacy. Le WEP possède un...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...

1

Tiradus, le 23 jui 2008 à 21:45:42

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

Répondre à Tiradus

2

jonastuces, le 23 jui 2008 à 23:28:48

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.
Jonastuces, toujours prêt à aider.

Répondre à jonastuces

3

 cowboyzed, le 25 sep 2008 à 14:34:46
  • +6

$chaine=ereg_replace("[^0-9]","",$chaine);

marche aussi bien

Répondre à cowboyzed