yankey Posté 14 Juin 2007 Partager Posté 14 Juin 2007 Bonjour, Je bloque sur un truc qui doit être tout bête. Je voudrai déterminer si un texte contient un morceau de chaine, c'est à dire si "Un message sur les forums" contient bien le morceau "%forum%" J'ai essayé ceci: $message = "Un message sur les forums"$mots = array("forum","texte","etc");if (in_array($message, $mots)) {fait ceci}else{fait cela} mais ce script ne marche que si le message est "forum"... et rien ne se passe non plus avec if (strpos($message, $mots)) qu'est-ce qu'il faut mettre pour trouver un bout de chaîne ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
yankey Posté 14 Juin 2007 Auteur Partager Posté 14 Juin 2007 Je vais essayer avec des if ((ereg("forum",$message)) or (ereg("texte",$message))) ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 14 Juin 2007 Partager Posté 14 Juin 2007 Essaie avec strpos() : http://www.manuelphp.com/php/function.strpos.php Lien vers le commentaire Partager sur d’autres sites More sharing options...
yankey Posté 14 Juin 2007 Auteur Partager Posté 14 Juin 2007 Ca marche, j'aurai bien aimé pouvoir me servir d'un tableau, mais bon ça marche comme ça. C'est rien... j'étais juste de passage... Bonne journée à tous Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nanane Posté 14 Juin 2007 Partager Posté 14 Juin 2007 (modifié) Il suffit de faire une boucle (foreach) pour que ca fonctionne avec un tableau Modifié 14 Juin 2007 par Nanane Lien vers le commentaire Partager sur d’autres sites More sharing options...
smile Posté 14 Juin 2007 Partager Posté 14 Juin 2007 if (eregi("forum|texte",$message)) Non sensible à la casse, c'est mieux Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nanane Posté 14 Juin 2007 Partager Posté 14 Juin 2007 stripos() pour ne pas etre sensible a la casse. ca marche aussi Lien vers le commentaire Partager sur d’autres sites More sharing options...
yankey Posté 14 Juin 2007 Auteur Partager Posté 14 Juin 2007 Merci à vous. En fait j'ai fais comme ça: ((ereg(" forum",$message)) and (ereg("forum ",$message)) or (ereg(" forum$",$message)) or (ereg("^forum ",$message)) or (ereg("^forum$ ",$message))) je peux pas trop mettre dans un tableau finalement puiqu'il doit chercher certain mots entiers, d'autres non. Avec ereg ça marche nickel apparemment, il me trouve bien tous les messages de type: "un forum", "forum", "forum du site", "un forum de site" c'est exactement ce que je cherchais. Lien vers le commentaire Partager sur d’autres sites More sharing options...
brian85 Posté 15 Juin 2007 Partager Posté 15 Juin 2007 Apparemment preg_match() est plus performant selon la doc php Lien vers le commentaire Partager sur d’autres sites More sharing options...
Galeenet Posté 19 Juin 2007 Partager Posté 19 Juin 2007 preg_match et ereg sont déconseillées pour faire de la recherche simple, car gourmands (comme toujours avec les regex) stristr ou strpos, avec une boucle, suffisent largement. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant