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

cs_jsuisperdu 6 Messages postés jeudi 14 septembre 2006Date d'inscription 29 juin 2007 Dernière intervention - 29 juin 2007 à 11:30 - Dernière réponse : cs_jsuisperdu 6 Messages postés jeudi 14 septembre 2006Date d'inscription 29 juin 2007 Dernière intervention
- 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 

2 réponses

Répondre au sujet
cs_jsuisperdu 6 Messages postés jeudi 14 septembre 2006Date d'inscription 29 juin 2007 Dernière intervention - 29 juin 2007 à 16:22
+3
Utile
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]);
?>
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_jsuisperdu
DiGhan 240 Messages postés samedi 21 février 2004Date d'inscription 3 juin 2010 Dernière intervention - 29 juin 2007 à 14:59
0
Utile
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.