IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Identifier \n dans une chaine transmise en POST


Sujet :

Langage PHP

  1. #1
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut Identifier \n dans une chaine transmise en POST
    Bonjour,

    Je fais du PHP une fois tous les 5 ans et je bute sur un truc sûrement tout simple.

    J'ai un formulaire avec un champ que je transmet à une page avec un POST.
    Je voudrais ensuite savoir si cette chaine contient des \r ou/et \n. J'utilise pour cela une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function hasSeparator($texte_a_verifier) {
    	if (preg_match("/[\r\n]/", $texte_a_verifier)) {
    		return true;
    	} else {
    		return false;
    	}
    }
    Lorsque j'utilise cette fonction avec une chaine en dur ça fonctionne bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hasSeparator("a\r\na"); // renvoie true
    Mais lorsque j'utilise la variable POST (la variable contient "a\r\na") ça ne fonctionne plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hasSeparator(stripslashes($_POST['monchamp'])); // renvoi false
    Pourquoi ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu tapes \r\n dans ton champ ou tu fais un retour à la ligne ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Cela revient au même.
    Si j'entre littéralement a\r\na dans le champ <input> ou que je tape a suivi d'entré puis a depuis un traitement de texte en faisant ensuite un copier/coller, le résultat est le même, la fonction renvoie false.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Mais toi tu veux détecter quoi ?

    Je n'ai pas fait de test approfondi mais je n'ai pas l'impression que tu puisses avoir un retour chariot dans un input : il est apparemment converti en espace.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Si la chaîne passée en POST contient des \r ou/et \n (en fait soit \n soit \r\n).

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/07/2014, 13h05
  2. Réponses: 24
    Dernier message: 01/05/2012, 22h34
  3. Identifier les caracteres speciaux dans une chaine de caracteres
    Par NicaeaCivitas dans le forum Développement
    Réponses: 2
    Dernier message: 18/01/2011, 16h06
  4. [RegEx] identifier une adresse email dans une chaine
    Par boosted dans le forum Langage
    Réponses: 12
    Dernier message: 23/07/2010, 12h39
  5. Méthode POST avec un + dans une chaine
    Par danathane dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/04/2008, 16h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo