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 :

Utiliser une classe négative avec un mot entier [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 220
    Par défaut Utiliser une classe négative avec un mot entier
    bonjour,

    je cherche une chaine qui doit se terminer par </div>, je voudrais donc écrire qqchose du genre [^(?:</div>] ... mais ca marche pas, la chaine est coupé au premier caractere trouvé, comment faire pour que ce ne soit que la chaine entière "</div>" qui termine la chaine.

    sinon j'ai aussi essayé comme ca: #class="maclasse">(.*)</div>#
    mais ca ne marche pas mieux.

    ca se voit peut etre mais je debute dans les regexp!
    merci

  2. #2
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Bonjour,

    dans un premier temps, vous pouvez utiliser une regex non greedy

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reg = '#class="maclasse">(.*?)</div>#';

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 220
    Par défaut
    oui merci, ca marche.

    Pour info, il faut ajouter le U a la regexp (apres le delimiteur de fin),
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reg = '#class="maclasse">(.*?)</div>#U';
    enfin je dis pas ça pour vous, c'est surement un oubli

  4. #4
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Citation Envoyé par gael Voir le message
    oui merci, ca marche.

    Pour info, il faut ajouter le U a la regexp (apres le delimiteur de fin),
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reg = '#class="maclasse">(.*?)</div>#U';
    enfin je dis pas ça pour vous, c'est surement un oubli
    Absolument pas !

    Il faut choisir soit le U, soit le ?, mais jamais au grand jamais les deux ensembles, car la présence du U inverse le comportement de ?, ce qui va invariablement mener à des quiproquos.

    Donnez-moi votre chaîne de test si c'est possible, parce que si ça marche comme vous l'indiquez, il y a un problème. => re-

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 220
    Par défaut
    en effet, il n'y a pas le ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '#class="produit_description"[^>]*>(.*)</div>#sU'
    au fait il sert à quoi? normallement ca ne remplace pas un seul caractère, je ne comprends pas son utilité dans l'expresion (.*?)

    j'étais pourtant content d'avoir réussit à trouver une erreur d'un moderateur

  6. #6
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Citation Envoyé par gael Voir le message
    j'étais pourtant content d'avoir réussit à trouver une erreur d'un moderateur
    LOL !

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

Discussions similaires

  1. Appeler une classe CSS avec Javascript
    Par p0Kep0K dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 13/02/2006, 15h50
  2. fermer la GUI d'une class et non le soft entier
    Par iMaTh dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 02/02/2006, 19h41
  3. Réponses: 2
    Dernier message: 06/12/2005, 10h41
  4. [Applet]utiliser une classe d'un package dans une applet
    Par jeromejanson dans le forum Applets
    Réponses: 1
    Dernier message: 30/06/2005, 09h13
  5. [EJB][JONAS] EJB utilisant une classe "externe"
    Par Gregory3000 dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 13/12/2004, 20h57

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