Magazine

Equivalent de parseInt en PHP avec preg_match (PHP, Regex, Javascript)

Publié le 15 mars 2008 par Mr32

La fonction parseInt() en Javascript tansforme une chaîne de caractères en nombre entier et renvoie la valeur numérique de celle-ci comme résultat. Le plus proche équivalent en PHP est la fonction intval(). Toutefois, le résultat retourné me semble trop restrictif avec des chaînes de caractères ne débutant pas par un nombre. Les expressions rationnelles (ou expressions régulières) permettent de outre passer cette limitation. Pour ce faire, on utilise la fonction preg_match() :

function parseInt($string) {
//	return intval($string);
	if(preg_match('/(\d+)/', $string, $array)) {
		return $array[1];
	} else {
		return 0;
	}
}

echo parseInt("2008");
echo parseInt("soit 99.90 francs");
echo parseInt("www.w3.org");
echo parseInt("300 soldats spartiates");
echo parseInt("du texte brut...");

Ce script affichera comme résultat :
- 2008
- 99
- 3
- 300
- 0



Retour à La Une de Logo Paperblog

A propos de l’auteur


Mr32 12 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte