Bonjour,
1- Et comment vas-tu gérer ces cas :
- Alors, je cherche du lait et je cherche aussi du coca.
- il y a 3 chats dans le jardin et ces 3 chats courent partout.
D'autant qu'en l'occurrence, je cherche et 3 chats sont composés de 2 mots chacun !
Bref : ta demande n'est pas simple, et semble se confronter à des tas de cas particuliers...
2- Pour reprendre ton exemple (modifié) :
- Je cherche cherche du coca.
- il y a 3 chats chats qui courrent.
On peut éventuellement considérer les mots identiques, qui se suivent.
Ça, c'est jouable :
N.B. et la fonction PHP s'appelle str_word_count().
str_word_count ( string $string [, int $format = 0 [, string $charlist ]] ) : mixed
format
Spécifie la valeur de retour de cette fonction. Les valeurs actuellement supportées sont :
0 : retourne le nombre de mots trouvés
1 : retourne un tableau contenant tous les mots trouvés à l'intérieur de string
2 : retourne un tableau associatif, où la clé indique la position numérique du mot à l'intérieur de string et la valeur est le mot actuel
Avec le format à "2", on a le mot (donc aussi sa longueur), et sa position dans la chaine.
En parcourant le tableau :
on peut tester si le mot est identique au mot précédent
si oui, on peut le supprimer de la chaine initiale, puisqu'on connait sa position et sa longueur.
Partager