Aller au contenu

rechercher un bout de chaine


yankey

Sujets conseillés

Bonjour, :rolleyes:

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

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 :rolleyes:

Lien vers le commentaire
Partager sur d’autres sites

Il suffit de faire une boucle (foreach) pour que ca fonctionne avec un tableau :D

Modifié par Nanane
Lien vers le commentaire
Partager sur d’autres sites

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. :rolleyes:

Lien vers le commentaire
Partager sur d’autres sites

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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...