par
sadeq » 12 mai 2009, 17:16
L'expression est la suivante:
// Modifier la description en ajoutant € après un nombre décimal
$description = preg_replace('#^(\d*[.,]?\d*)$#', '$1 €', $description);
Le nombre décimal est de la forme :
(\d*[.,]?\d*)
où
\d désigne un chiffre de 0 à 9
et
* désigne N répétitions de chiffres.
Donc la forme
\d* désigne un nombre constitué de N chiffres
et finalement
[.,] est mise entre deux nombre et signifie un séparateur de décimaux pouvant être le . (point) ou la , (virgule)
On a ajouté un
? après, pour signifier que ce séparateur est facultatif et ainsi traiter aussi les nombre qui n'ont pas de partie décimale.