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 :

Position expression régulière


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 38
    Par défaut Position expression régulière
    Bonjour
    avec la fonction eregi je suis capable de déterminer si une variable définie en tant qu'expression régulière (exemple "car(e|ê)me" )est présente ou non dans un texte. Par contre j'ai également besoin de connaître sa position. J'ai essayé avec strpos mais ça ne marche pas.
    Quelqu'un aurait-il une solution pour résoudre ce problème. Merci d'avance.
    CapErquy

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    eregi est déprécié utilise preg_match a la place avec l'option i, tu auras la position avec PREG_OFFSET_CAPTURE

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Bonjour,
    je me permets de poster sur ce thread car j'ai besoin de vérifier que la chaîne entrée est bien alpha numérique.

    J'ai donc utilisé la fonction eregi() :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if (!(eregi('[a-zA-Z0-9]', $_POST['ref'])))
    	{ 
    		echo "<br/><br/>";
    		echo "<div align=center>";
    		echo 'La référence client est composée de caractères alphanumériques (uniquement des lettres et des chiffres.';
    		echo '<br/>br/>';
    		echo 'Veuillez entrer correctement votre référence client.';
    		echo "</div>";
    	}

    mais comme dit plus haut, cette fonction est dépréciée.
    J'ai donc regardé le lien fournit mais il ne répond pas à ma demande. A moins que j'ai mal lu quelque chose.

    Si vous avez une idée pour mon problème,

    Merci !

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par feldi Voir le message
    Bonjour,
    je me permets de poster sur ce thread car j'ai besoin de vérifier que la chaîne entrée est bien alpha numérique.

    J'ai donc utilisé la fonction eregi() :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if (!(eregi('[a-zA-Z0-9]', $_POST['ref'])))
    	{ 
    		echo "<br/><br/>";
    		echo "<div align=center>";
    		echo 'La référence client est composée de caractères alphanumériques (uniquement des lettres et des chiffres.';
    		echo '<br/>br/>';
    		echo 'Veuillez entrer correctement votre référence client.';
    		echo "</div>";
    	}

    mais comme dit plus haut, cette fonction est dépréciée.
    J'ai donc regardé le lien fournit mais il ne répond pas à ma demande. A moins que j'ai mal lu quelque chose.

    Si vous avez une idée pour mon problème,

    Merci !
    oui parce que c'est pareil il faut juste ajouter les délimiteurs et l'option i

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ((preg_match('/[^a-zA-Z0-9]/i', $_POST['ref'])))

    Merci, ça fonctionne impec !

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par feldi Voir le message
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ((preg_match('/[^a-zA-Z0-9]/i', $_POST['ref'])))

    Merci, ça fonctionne impec !
    par contre ton i sert a rien, puisque t'as définie A-Z, t'as peu être aussi des accents a gérer aussi ?

    juste ca devrait faire l'affaire,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match('/\P{Xan}/u', $_POST['ref'])

Discussions similaires

  1. Réponses: 10
    Dernier message: 06/05/2011, 11h36
  2. position d'une expression régulière
    Par kioka dans le forum Langage
    Réponses: 13
    Dernier message: 16/05/2008, 14h50
  3. Réponses: 6
    Dernier message: 03/05/2007, 16h13
  4. Expressions réguliéres
    Par Tooms dans le forum Langage
    Réponses: 4
    Dernier message: 06/12/2002, 18h42
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

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