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 :

Mot interdit, exclusion d'une chaine de caractères [RegEx]


Sujet :

Langage PHP

  1. #21
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 17
    Points
    17
    Par défaut
    Ouais ça marche parfaitement chez moi! Je peux même faire des fonctions OU et ET dedans!

  2. #22
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 17
    Points
    17
    Par défaut
    Essaie de le tester avec le module "Testeur d'Expressions Régulières" de firefox sans les #, parce que là aussi, je viens de le vérifier, ça marche!

  3. #23
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 83
    Points : 69
    Points
    69
    Par défaut
    Merci de cette réponse.
    En effet, ça marche dans le Testeur Firefox, mais hélas pas dans mon preg_match_all(...., PREG_SET_ORDER);

  4. #24
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 17
    Points
    17
    Par défaut
    Essaie avec preg_match() tout court

  5. #25
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 83
    Points : 69
    Points
    69
    Par défaut
    merci mais dans le cas qui m'intéresse je dois impérativement utiliser un preg_match_all...

  6. #26
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 17
    Points
    17
    Par défaut
    Mais ça marche avec preg_match_all() aussi! j'ai testé ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $texte= "Je ne contiens aucun mot";
    if (preg_match_all("/^((?!mot).)*$/",$texte, $matches, PREG_SET_ORDER))
    echo "ca matche";
    else echo "ca matche pas...";
    ?>
    avec ce texte, ca affiche "ca matche pas..." et quand tu enlèves "mot", ca affiche "ca matche".

  7. #27
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 83
    Points : 69
    Points
    69
    Par défaut
    Je vois, mais je reste coincé sur l'utilisation de ta solution lorsqu'on a plusieurs $matches dans la chaîne initiale...
    Par exemple, le code suivant fait ressortir chaque extrait lorsqu'il contient 2 chiffres et un "mot" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $texte = "01 Je contiens un mot 02 Je n'en contiens aucun 03 Je contiens un mot 04 Je contiens un mot 05 Je n'en contiens aucun";
     
    preg_match_all("/(\d{2})[^\d]*?mot/", $texte, $matches, PREG_SET_ORDER);
     
    for ($i=0;$i<count($matches);$i++)
    {
    echo $matches[$i][0],'<br />';
    }
    merci encore de ton aide.

  8. #28
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 17
    Points
    17
    Par défaut
    Et toi tu veux qu'il fasse ressortir toutes les phrases commençant par deux chiffres et sans le mot "mot" ?

  9. #29
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 83
    Points : 69
    Points
    69
    Par défaut
    oui, c'est possible en utilisant une solution comme celle que tu proposes ?

  10. #30
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 17
    Points
    17
    Par défaut
    J'ai essayé ça qui marche mais sans pouvoir afficher les numéros de phrases :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $texte = "01 Je contiens un mot 02 Je n'en contiens aucun 03 Je contiens un mot 04 Je contiens un mot 05 Je n'en contiens aucun";
     
     
    $tab=preg_split('/\d{2}/',$texte);
    for($i=1;$i < count($tab);$i++)
    {
        if (preg_match("/^((?!mot).)*$/",$tab[$i]))
        echo $tab[$i];
        echo "<br />";
    }
     
    ?>

  11. #31
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 83
    Points : 69
    Points
    69
    Par défaut
    Voilà ce que j'obtiens en bricolant un peu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $texte = "01 Je contiens un mot 02 Je n'en contiens aucun 03 Je contiens un mot 04 Je contiens un mot 05 Je n'en contiens toujours aucun";
     
    $tab=preg_split('/\d{2}/',$texte);
    for($i=1;$i < count($tab);$i++)
    {
        if (preg_match("/^((?!mot).)*$/",$tab[$i]))
        {
    	 echo substr($texte, stripos($texte, $tab[$i])-3, strlen($tab[$i])+3),'<br />';
    	}
    }
    Merci encore, et si tu finis par trouver une solution en regex, je suis preneur!

  12. #32
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 17
    Points
    17
    Par défaut
    Bah c'est déjà très bon ça!
    En attendant LA regex!

  13. #33
    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 : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

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

    un premier essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $texte = "01 Je contiens un mot 02 Je n'en contiens aucun 03 Je contiens un mot 04 Je contiens un mot 05 Je n'en contiens aucun";
     
    $reg = '/(\d{2})((?!mot).)*?(?=\d{2}|$)/';
     
    preg_match_all($reg, $texte, $matches, PREG_SET_ORDER);
     
    for ($i=0;$i<count($matches);$i++)
    {
        echo $matches[$i][0],'<br />';
    }
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  14. #34
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 83
    Points : 69
    Points
    69
    Par défaut
    pas mal pour un premier essai!

  15. #35
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 17
    Points
    17
    Par défaut
    Est-ce qu'on peut dire que le problème est résolu ?

  16. #36
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 83
    Points : 69
    Points
    69
    Par défaut
    Bonjour,

    pour moi c'est ok en tout cas.

    A+

  17. #37
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 35
    Points : 17
    Points
    17
    Par défaut
    Parfait alors!
    A bientôt tout le monde

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/12/2013, 16h40
  2. Réponses: 1
    Dernier message: 14/01/2011, 13h46
  3. [RegEx] Exclusion d'une chaine de caractères
    Par omageus dans le forum Langage
    Réponses: 3
    Dernier message: 31/07/2009, 15h39
  4. Réponses: 2
    Dernier message: 13/08/2006, 23h56
  5. recherche de mots dans une chaine de caractères
    Par jeanfrancois dans le forum Langage
    Réponses: 5
    Dernier message: 10/02/2006, 10h47

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