2013-04-28 1 views
0

Je suis en train de filtrer les entiers en utilisant filter_var(), mais dans ce cas:filter_var() permettant plus d'un moins en nombres entiers

echo filter_var('-3-6-5', FILTER_SANITIZE_NUMBER_INT); // Output: -3-6-5 

Au lieu de -3-6-5 j'attendre à obtenir - 365.

Quelqu'un sait comment résoudre ceci ou une expression rationnelle qui fait cela?

Merci pour toute aide!

+0

Pourquoi vous attendez-vous cela? Un peu de contexte aiderait ... – elclanrs

+0

@elclanrs, j'essaye d'assainir quelques vars et ensuite de les valider –

+1

@Marcio Simao: '-3-6-5' devrait échouer la validation. Vous devriez montrer un message d'erreur à l'utilisateur, pas essayer de deviner ce qu'ils voulaient dire – zerkms

Répondre

1
echo preg_replace('~^[^-\d]|(?<!^)\D~', '', '-3-6-5'); // -365 

Il enlèvera tout ce qui est pas un chiffre, en gardant - signe au début de la chaîne

Questions connexes