0
votes

Émettre des nombres décimaux dans PHP

J'essaie de tirer deux chiffres d'une variable ($ texte), puis de les multiplier et de produire les résultats. Les deux chiffres peuvent être des véhicules et des flotteurs.

Quand j'essaie: $ text = "1 photo - B & W - 2 x 5 po."
Je reçois: la zone d'image est de 10
qui est ce que je veux xxx

mais quand j'essaie: $ text = "1 photo - B & W - 2 x 5,5 po."
Je reçois un écran vide

Comment puis-je produire des flotteurs?


mon code et la sortie: http://sandbox.onlinephpfunctions.com/code/4b45219fdcb7864442268459621bb506c24ce78f


1 commentaires

Votre regex ne correspond pas. ''! == '.' '


3 Réponses :


1
votes

L'expression de regex n'est pas suffisamment robuste pour distinguer des nombres entiers et des nombres décimaux. Le [[[: chiffre:]]] correspondant uniquement aux caractères 0-9.

Ce site est utile pour créer et tester la regex:

https://regex101.com/


0 commentaires

1
votes

Vous avez un espace supplémentaire à la fin de la regex, ce qui le briserait. Supprimez-le, et il correspondrait au 2 x 5 . Vous devriez être capable de l'étendre davantage en ajoutant \. de chaque côté de la regex: xxx


0 commentaires

1
votes

Votre regex ne correspond pas. Vous voulez: xxx p> 1 ou plusieurs chiffres (facultatif: points, 1 ou plusieurs chiffres), espace, x, espace, 1 ou plusieurs chiffres, (facultatif: points, 1 ou plusieurs chiffres ), espace

test en ligne


0 commentaires