Envoyé par
Rakken
Après, il y a toujours la solution de faire le parsing à la main.
Tu parcours ton texte, à la premiere lettre, tu regardes si elle correspond à un mot (ou plusieurs) de ton tableau, si c'est le cas, tu poses un marqueur, et tu fais défiler en parallèle les lettres du mot de ton tableau et du texte. S'il y a différence, tu retourne au marqueur et tu testes avec le mot suivant du tableau (s'il y a lieu), si aucun mot dans le tableau ne correspond, tu recommence le parcours de ton texte à l'emplacement "marqueur".
Dans la mesure où tu ne veux pas prendre les mots à l'interieur d'autres mots, tu itères jusqu'à tomber sur un caractère qui n'est pas une lettre (attention à la gestion des accents, ce sont bien des lettres), puis, à la premiere lettre suivant le caractère qui n'est pas une lettre, tu recommences la comparaison avec ton tableau.
Dans le cas où tu arrives à finir un mot de ton tableau, tu sais quand débute le mot (tu as mis un marqueur), tu sais quand il finit (genre, tu es précisement dessus), tu n'as donc plus qu'a remplacer la chaine par la même en souligné, et voila.
Ca te permet d'avoir "Septieme art" en un seul soulignement, mais c'est un peu plus galère à coder que les solutions d'au dessus. Mais en découpant bien en petites fonctions, ca doit pouvoir se faire relativement vite.
Partager