J'ai une entrée pour les utilisateurs où ils sont censés entrer leur numéro de téléphone. Le problème est que certaines personnes écrivent leur numéro de téléphone avec des traits d'union et des espaces en eux. Je veux mettre l'entrée par un filtre pour enlever de telles choses et stocker seulement des chiffres dans ma base de données.Liste blanche dans php
J'ai pensé que je pourrais faire un certain str_replace() pour les espaces blancs et les caractères spéciaux. Cependant, je pense qu'une meilleure approche serait de choisir seulement les chiffres au lieu de tout enlever. Je pense que j'ai entendu le terme «whitelisting» à ce sujet.
Pourriez-vous s'il vous plaît me diriger dans la direction de résoudre ceci en PHP?
Exemple: Je veux l'entrée "0333 452-123-4" pour aboutir à "03334521234"
Merci!
Bien expliqué. +1 – Boldewyn
Votre exemple de code a très bien fonctionné, mais j'ai vraiment eu du mal à le comprendre. J'ai écrit: $ phone = preg_replace ('/ [^ \ d] /', '', $ phone); à la place. Y a-t-il une différence entre ces deux-là? Où puis-je en savoir plus sur les points d'exclamation que vous utilisez? –
La seule différence est que je remplace un groupe de non-chiffres par une chaîne vide (d'où l'opérateur + pour indiquer un ou plusieurs) plutôt qu'un seul non-chiffre avec une chaîne vide. Très petite différence vraiment. – cletus