Page 1 sur 2
Recherche de mot clé dans une phrase
Posté : 10 août 2010, 23:52
par labyelo
Bonsoir,
j'aimerais savoir, comment faire pour rechercher des mots clés dans une phrase?
Ensuite, j'aimerais savoir comment faire pour l'intégrer..
|| Si l'un des mots suivant est dans la phrase, on affiche le mot trouvé, sinon on affiche la phrase. ||
Merci d'avance,
Anthony
Re: Recherche de mot clé dans une phrase
Posté : 11 août 2010, 12:49
par ouckileou
Regarde la liste des fonctions de manipulation de chaînes, tu devrais en trouver une simple pour chercher le nombre d'occurence d'une sous-chaîne dans une chaîne:
http://fr.php.net/manual/fr/ref.strings.php
Si c'est trop simpliste, tu pourras te tourner vers les expressions régulières et les fonctions associées. Regarde le forum et la FAQ, sujet déjà traité.
Re: Recherche de mot clé dans une phrase
Posté : 11 août 2010, 15:09
par dunbar
Mauvaise réponse

Re: Recherche de mot clé dans une phrase
Posté : 11 août 2010, 15:11
par stealth35
si il cherche "jour" ca marchera alors que le mot n'est pas dans la phrase

Re: Recherche de mot clé dans une phrase
Posté : 11 août 2010, 15:14
par dunbar
A le boulet
effectivement

Re: Recherche de mot clé dans une phrase
Posté : 11 août 2010, 15:19
par stealth35
je dirais plus un truc du genre
$sent = "aujourd'hui ma super phrase";
$word = array('super', 'phrase');
$found = array_intersect($word, str_word_count($sent, 1));
if($found)
{
echo implode(', ', $found);
}
else
{
echo $sent;
}
EDIT : marche pas en utf-8...
Re: Recherche de mot clé dans une phrase
Posté : 11 août 2010, 15:23
par dunbar
Ou ceci peut-être
MAJ
$phrase = 'Bonjour Anthony';
$mot = 'Anthony';
if (preg_match("/\b".$mot."\b/i", $phrase))
{
echo "Le mot $mot a été trouvée dans la phrase <b>$phrase</b>";
}
else
{
echo "Le mot $mot ne se trouve pas dans la phrase <b>$phrase</b>";
}
Le Le
i indique que la recherche ne sera pas sensible à la casse.
Re: Recherche de mot clé dans une phrase
Posté : 11 août 2010, 15:25
par stealth35
non c'est pareil, il faut mettre une limite de mot dans ce cas: \b
mais bon c'est pas simple de définir un mots : aujourd'hui est un mot mais l'ami n'en est pas un
Re: Recherche de mot clé dans une phrase
Posté : 11 août 2010, 17:19
par labyelo
Merci à tous, je vais tester ça et je vous dis quoi! =)
Re: Recherche de mot clé dans une phrase
Posté : 11 août 2010, 17:32
par labyelo
Petit problème
j'aimerais par exemple, si le membre à écrit dans son titre : "<D" se transforme en jteplin ou bien encore "vv" en shark
$phrase = ( $postrow[$i]['post_subject'] != '' ) ? $postrow[$i]['post_subject'] : '';
$mot = array('vv', 'lol');
if (preg_match("/\b".$mot."\b/i", $phrase))
{
$mood = $mot;
}
else
{
$mood = $postrow[$i]['mood'];
}
merci d'avance,
Anthony
Re: Recherche de mot clé dans une phrase
Posté : 11 août 2010, 17:33
par stealth35
le code de dunbar n'est pas bon
Re: Recherche de mot clé dans une phrase
Posté : 11 août 2010, 17:36
par dunbar
le code de dunbar n'est pas bon
Pourquoi ceci ne serais t'il pas bon
$phrase = 'Bonjour Anthony';
$mot = 'Antho';
if (preg_match("/\b".$mot."\b/i", $phrase))
{
echo "Le mot $mot a été trouvée dans la phrase <b>$phrase</b>";
}
else
{
echo "Le mot $mot ne se trouve pas dans la phrase <b>$phrase</b>";
}
Re: Recherche de mot clé dans une phrase
Posté : 11 août 2010, 17:44
par stealth35
celle la oui mais il avais repirs avec le :
$mot = array('vv', 'lol');
ducoup ca ne marchera pas ca donnera
\bArray\b
mais avec juste
$mot = 'Antho';
ca roule

Re: Recherche de mot clé dans une phrase
Posté : 11 août 2010, 17:52
par labyelo
je dirais plus un truc du genre
$sent = "aujourd'hui ma super phrase";
$word = array('super', 'phrase');
$found = array_intersect($word, str_word_count($sent, 1));
if($found)
{
echo implode(', ', $found);
}
else
{
echo $sent;
}
EDIT : marche pas en utf-8...
Je vais donc reprendre ce code alors =)

Re: Recherche de mot clé dans une phrase
Posté : 11 août 2010, 17:59
par labyelo
Voilà,
donc maintenant, j'aimerais bien savoir, comment faire pour que les mots de l'array se transforme en autre mot ?!
Exemple :
lol = mdr
vv = shark
<D = jteplin

= cry

= happy
ect
$sent = ( $postrow[$i]['post_subject'] != '' ) ? $postrow[$i]['post_subject'] : '';
$word = array('lol', 'vv');
$found = array_intersect($word, str_word_count($sent, 1));
if($found)
{
$mood = implode(', ', $found);
}
else
{
$mood = $postrow[$i]['mood'];
}
Merci d'avance,
Anthony