Obtenir la position du premier nombre dans une chaine de caracteres [Résolu]

Messages postés
6
Date d'inscription
jeudi 14 septembre 2006
Dernière intervention
29 juin 2007
- - Dernière réponse : cs_jsuisperdu
Messages postés
6
Date d'inscription
jeudi 14 septembre 2006
Dernière intervention
29 juin 2007
- 29 juin 2007 à 16:22
bonjour,
je cherche à caluler automatiquement la poisiton de la premiere valeur numérique dans un texte.
exemple : "le chien de la voisine a mange 52 chats"
je souhaiterai qu'il me retourne le nombre 31 correspondant à la position du chiffre 5

c'est un veritable casse tête.... HELP please !
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
6
Date d'inscription
jeudi 14 septembre 2006
Dernière intervention
29 juin 2007
3
Merci
merci.

en fait, j'ai trouvé plus simple :
<?
$chaine="
le chien de la voisine a mange 52 chats";


eregi("[0-9],


$chaine
,$regs));
$position = strpos($chaine, $regs[0]);
?>

Merci cs_jsuisperdu 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_jsuisperdu
Messages postés
240
Date d'inscription
samedi 21 février 2004
Dernière intervention
3 juin 2010
0
Merci
Salut,

il faut exploser la chaine et vérifier si le caractère courant est un entier ou pas, exemple :

<?php

function getPosInteger($string) {
  $i = 0;
  $nLen = strlen($string);
  while ($i<$nLen) {
    if ( is_numeric( $string[$i] ) ) break;
    $i++;
  }
  return $i;
}
$string = 'le chien de la voisine a mange 52 chats';
echo 'Position du 1er entier rencontré : ',getPosInteger($string);

?>
Commenter la réponse de DiGhan

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.