Extraire un chiffre entre des caracteres

meskina Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   -  
meskina Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai un champ qui rassemble une chaine de caractère(1 mot ou 2 ou plus) + un chiffre entouré par des [] .
je veux une fonction qui m'extraire à chaque fois le chiffre?

merci d'avance.


A voir également:

4 réponses

Zep3k!GnO Messages postés 2025 Date d'inscription   Statut Membre Dernière intervention   200
 
-> Expression régulières
0
Heremion Messages postés 538 Date d'inscription   Statut Membre Dernière intervention   102
 
Bonjour Meskina,

Tu n'as pas une fonction du style StrPos, StringPos ou Pos?
0
JooS Messages postés 2468 Date d'inscription   Statut Membre Dernière intervention   228
 
Salut ...
Si c'est Genre ça ! "mot1mot2[45]"
$var = 'mot1mot2[45]';
$tab = explode('[', $var);
$tab1 = explode(']', $tab[1]);      
$chiffre = $tab1[0];

Sinon ...

$var = 'mot1mot2[45]'; 
$debut = strpos($var,'[');      
if($debut) {      
    $fin = strpos($var,']');      
    if($fin) {      
        $longueur = $fin-$debut;      
        $chiffre = substr($var,$debut+1,$longueur-1);        
    }      
}

Mettez en résolu quand c'est résolu -.- ...
0
JooS Messages postés 2468 Date d'inscription   Statut Membre Dernière intervention   228
 
Pour sécuriser, mieux vaut faire ça pour le premier exemple !
$tab = explode('[', $var);
if(isset($tab[1])) {
    $tab1 = explode(']', $tab[1]);
    if(isset($tab1[1])) {
        $chiffre = $tab1[0];    
    }
}
0
Zep3k!GnO Messages postés 2025 Date d'inscription   Statut Membre Dernière intervention   200
 
C'est pas plus simple et sécure comme ça ? ;)
$var = 'mot1mot2[45]';
if (preg_match('/\[([0-9]+)\]/', $var, $aMatches)){
    echo $aMatches[1]; //affiche : 45
}
0
JooS Messages postés 2468 Date d'inscription   Statut Membre Dernière intervention   228
 
Lol, oui, c'est juste, c'est ce que j'aller poster au début, mais ça fonctionnais pas vu que j'ai oublier quelques détails, comme le + ... :p

PS : je suis nul en expressions régulières donc ! :p
0
meskina Messages postés 50 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour vos réponses,c'est résolu ;)
0