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 :

détection 2slashs avec preg_match alors qu'il ne devrait pas


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut détection 2slashs avec preg_match alors qu'il ne devrait pas
    bonjour,
    je voudrais faire en sorte que ma fonction détecte dans une chaine de caractère les "./" et les ":/" j'ai donc fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $po="youpi /you you";
    echo $po."<br/>";
    if (preg_match("#:/|./#",$po)) 
    	{echo "oui";}
    else 
    	{echo "non";};
    ?>
    Malheureusement, je ne vois pas pourquoi, ça marche bien sauf quand dans ma chaine j'ai un truc du genre : "caca/prout/" il détecte les 2 slashs et me dit oui alors qu'il ne devrait pas.... comment faire?

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    1) pense a la balise [CODE] (# dans l'editeur)

    2) faut lire la doc sur les expressions régulieres, le caractere "." (point) est un méta caractere...

    http://fr.php.net/manual/fr/regexp.reference.php

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Mais oui, j'avais pas fait gaffe que c'était un méta caractère...
    Mille merci!!

    La réponse était donc : #:/|\./#

  4. #4
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    Plus simple encore : #[:.]/#

    Là, pas besoin de l'echapper parce que dans une classe de caractere ([]) le point n'est plus un metacaractere ;o)
    Mais bon, #[:\.]/# marche aussi ;o)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème TSX37, sortie active alors qu'il le devrait pas
    Par Voss21120 dans le forum Automation
    Réponses: 8
    Dernier message: 31/05/2012, 20h31
  2. Réponses: 2
    Dernier message: 08/02/2012, 23h17
  3. Réponses: 4
    Dernier message: 19/11/2011, 21h57
  4. Image de fonds qui bouge (alors qu'elle ne devrait pas)
    Par koukic11 dans le forum Mise en page CSS
    Réponses: 0
    Dernier message: 01/02/2010, 09h57
  5. Réponses: 15
    Dernier message: 25/09/2005, 23h31

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