Page 1 sur 1

Comment récupérer les données d'un formulaire sans espace en PHP ?

Posté : 17 juil. 2015, 00:34
par chegmarco
Bonsoir à tous.

J'aimerais savoir s'il vous plaît comment récupérer les données d'un formulaire sans espace ???

Par exemple :

<?php
$numero = $_POST['numero'];
?>

Si pour le code ci-dessous, je veux récupérer toutes les Numéros de téléphone de l'utilisateur entrés sans aucun espace (car il se pourrait bien que certains utilisateur entre des données espacées) , comment faire svp en PHP ??? Il y a t-il une possibilité de récupérer les données d'un formulaire sans espace ??????

Merci d'avance.

Re: Comment récupérer les données d'un formulaire sans espace en PHP ?

Posté : 17 juil. 2015, 00:36
par benv8nam
Bonsoir,
Si tu parles des caractères en début et/ou fin de chaine tu peux utiliser la fonction trim.
Sinon tu remplace les espaces par rien et tu obtient une chaîne sans espace.

Re: Comment récupérer les données d'un formulaire sans espace en PHP ?

Posté : 17 juil. 2015, 11:42
par Ryle
Bonjour,

Tu peux effectivement utiliser un str_replace() ou preg_replace() pour remplacer les espaces. L'avantage de l'expression régulière c'est que tu peux remplacer tout ce qui n'est pas numérique (les espaces donc, mais aussi les points, les traits d'unions etc.)
$telephone = preg_replace("/[^0-9]/", "", $telephone);
Cette expression supprime de ta chaine tout caractère qui n'est pas un chiffre compris entre 0 et 9. Tu peux au besoin compléter l'expression pour par exemple conserver le "+" ou tout autre caractère que tu voudrais conserver.

Re: Comment récupérer les données d'un formulaire sans espace en PHP ?

Posté : 17 juil. 2015, 12:22
par chegmarco
Bonjour,

Tu peux effectivement utiliser un str_replace() ou preg_replace() pour remplacer les espaces. L'avantage de l'expression régulière c'est que tu peux remplacer tout ce qui n'est pas numérique (les espaces donc, mais aussi les points, les traits d'unions etc.)
$telephone = preg_replace("/[^0-9]/", "", $telephone);
Cette expression supprime de ta chaine tout caractère qui n'est pas un chiffre compris entre 0 et 9. Tu peux au besoin compléter l'expression pour par exemple conserver le "+" ou tout autre caractère que tu voudrais conserver.
Ok grand merci "Ryle" mais pensez-vous que je peux faire comme ceci en suivant la procédure de Ryle ??? :
$numero = preg_replace('/[^0-9]/', '', $_POST['numero']);


Pensez-vous svp si c'est correcte ma modification ci-dessus ??? sinon svp veuillez encore me corriger.

Merci d'avance.