Obtenir la position du premier nombre dans une chaine de caracteres

Résolu
cs_jsuisperdu Messages postés 6 Date d'inscription jeudi 14 septembre 2006 Statut Membre Dernière intervention 29 juin 2007 - 29 juin 2007 à 11:30
cs_jsuisperdu Messages postés 6 Date d'inscription jeudi 14 septembre 2006 Statut Membre 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 !
A voir également:

2 réponses

cs_jsuisperdu Messages postés 6 Date d'inscription jeudi 14 septembre 2006 Statut Membre Dernière intervention 29 juin 2007
29 juin 2007 à 16:22
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]);
?>
3
DiGhan Messages postés 239 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 3 juin 2010 1
29 juin 2007 à 14:59
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);

?>
0