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 :

Tout sauf un mot dans une REGEX? [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Points : 878
    Points
    878
    Par défaut Tout sauf un mot dans une REGEX?
    Salut a tous,

    je crois que ce que je vais demander n'est pas possible mais sais t on jamais.
    En fait je voudrais pouvoir dire tout les caractères sauf un mot.

    Je dis bien un mot si je fait ca:

    Il s'arretera des qu'il rencontrera une de ces lettes et nom pas le mot.

    Avez vous une idée qui permettrai de faire ce que je veut faire?

    ps: je veut vraiment interdire le mot, on peut bidouiller en disant les 7 lettres a la suite mais dans ce ca cas ca marcherais pour toute les combinaison: exemple,exmeple;exmeple... ce que je ne souhaite pas.
    manganimes (en construction) -
    zemanga

  2. #2
    Membre averti Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Points : 434
    Points
    434
    Par défaut
    Bonjour,
    Je ne sais pas si je suis dans le bon contexte, mais en faisant un truc comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    $chaine='toto tutu';
    preg_match('/toto/',$chaine,$match);
    if(count($match)>0)
    {
    	echo 'contient toto';
    }
    else
    {
    	echo 'ne contient pas toto';
    }
     
    ?>
    Bonne journee,
    Sohnic
    http://www.noctinfo.fr/

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez-le à conquérir le monde en le reproduisant.
    (")-(")

  3. #3
    Membre éclairé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Points : 878
    Points
    878
    Par défaut
    Non en effet c'est pas ca en fait ce que je veux faire c'est une regex pour bbcode.


    Par exemple:

    $test=[q uote]text[/q uote]

    Il faut que je récuper le text entre les quote. (jusque la ca va)

    je fait::
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    preg_replace('!\[q uote](.*)\[/q uote\]!isU','$1',$test);
    Le probleme est ue si j'ai ca:
    [q uote]text1[/q uote][q uote]text2[/q uote]
    il va me ressortir text1[/q uote][q uote]text2

    Je peut faire ca pour m'en sortir mais ca voudrais dire que les utilisateurs du forum n'autront pas le droit de citer des [.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    preg_replace('!\[q uote](^[*)\[/q uote\]!isU','$1',$test);
    Avez vous une idée?
    manganimes (en construction) -
    zemanga

  4. #4
    Membre averti Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Points : 434
    Points
    434
    Par défaut
    Bizarre, j'ai repris ton code par copier coller et je n'ai pas le meme resultat que toi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $test= '[q uote]text1[/q uote][q uote]text2[/q uote]';
    //$test='[q uote]text[/q uote]';
    $res=preg_replace('!\[q uote](.*)\[/q uote\]!isU','$1',$test);
    echo $res;
    $res vaut text avec le deuxieme $test (jusque la, rien de special)
    et $res vaut text1text2 avec le premier $test...

    Sinon, je n'ai pas d'idee particuliere... desolée,

    Sohnic
    http://www.noctinfo.fr/

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez-le à conquérir le monde en le reproduisant.
    (")-(")

  5. #5
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Citation Envoyé par Death83
    Non en effet c'est pas ca en fait ce que je veux faire c'est une regex pour bbcode.
    c'est parce que le fin de ] tu l'échappait pas : \]

    ce qui te donnes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $in = '#\[quote\](.*)\[/quote\]#Usi';
    $out = "TOTO$1TOTO";
    preg_replace($in, $out, $txt);
    ?>
    et tu as la FAQ de developpez, je sais pas si tu l'as vu.
    http://php.developpez.com/faq/?page=...es_parsebbcode

    A++

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/12/2013, 16h40
  2. [Regex]Recherche de mots dans une chaîne
    Par lionel69 dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 17/11/2005, 18h20
  3. Compter nombre de mots dans une chaîne.
    Par xVINCEx dans le forum C++
    Réponses: 22
    Dernier message: 24/11/2004, 13h33
  4. Suppression de mots dans une chaîne
    Par psychomatt dans le forum Langage
    Réponses: 7
    Dernier message: 06/08/2004, 15h34
  5. Comptage de mots dans une chaîne
    Par kikinou dans le forum Pascal
    Réponses: 10
    Dernier message: 01/01/2003, 02h27

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