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 :

trouver un mot dans une chaine de caractère [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 190
    Points : 80
    Points
    80
    Par défaut trouver un mot dans une chaine de caractère
    Bonjour,
    pour le moment lorsque je fais un echo de $mauvais_mot ça me retourne un chiffre: 0 si y a rien , 1 si y a un mauvais mot etc...
    mais j'aimerais afficher ce mot à l'écran pour dire à l'utilisateur de ne plus l'utiliser.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $requete_mot = "SELECT * FROM mots_interdits";
    $resultat_mot = mysql_query($requete_mot);
    while($donnees_mot = mysql_fetch_array($resultat_mot))
    {	
    	$mots_interdits = implode("|",$donnees_mot);
    	$texte = $_POST['message'];
    	$mauvais_mot = preg_match("#$mots_interdits#", $texte); 
    	echo( $mauvais_mot);
    }

    j'ai regardé dans la doc php.net mais franchement pour preg_match et preg_match_all c vraiment mal foutu, on pige que dalle!
    lol

  2. #2
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 30
    Points : 26
    Points
    26
    Par défaut
    por preg_match_all :
    tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(preg_match_all ('#(mot1|mot2|mot3)#', $ton_contenu, $tableau ))
    {
    $nb_elements = count($tableau);
     for($i=0; $i<$nb_elements; $i++)
     {
      print $tableau[1][$i];
     }
    }
    après tu analyse ce que ça t'affiche:
    la fonction va te créer un tableau avec pour $tableau[1], le contenu de ta premiere parenthèse capturante, $tableau[2] la seconde ...

    print $tableau[1][$i] va dons t'afficher $i fois les resultats de la premiere parenthese capturantes

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 190
    Points : 80
    Points
    80
    Par défaut
    Grand merci à toi
    ça fonctionne

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/12/2013, 16h40
  2. Réponses: 4
    Dernier message: 04/03/2009, 10h18
  3. Extraction mots dans une chaine de caractère
    Par mercure07 dans le forum C
    Réponses: 6
    Dernier message: 30/07/2008, 13h54
  4. Trouver un nombre dans une chaine de caractère ?
    Par Coussati dans le forum Débuter
    Réponses: 4
    Dernier message: 27/10/2007, 00h35
  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