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

Messages postés
6
Date d'inscription
jeudi 14 septembre 2006
Statut
Membre
Dernière intervention
29 juin 2007
- - Dernière réponse : 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 !
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
6
Date d'inscription
jeudi 14 septembre 2006
Statut
Membre
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]);
?>

Dire « Merci » 3

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

Codes Sources 214 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_jsuisperdu
Messages postés
240
Date d'inscription
samedi 21 février 2004
Statut
Membre
Dernière intervention
3 juin 2010
1
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