J'utilise flex afin de tokenizer des pages html. Le but etant de récupérer les tags et le texte (tout ce qui n'est pas tag) ainsi que les urls et noms de domaines (pouvant etre dans les tags ou dans le texte).
Je voudrai rechercher les urls et noms de domaines dans les tags. Afin de supprimer les problemes de précedence des détections ce que je voudrai faire est : - détecter d'une part les tags, en tirer les urls et noms de domaines - détecter d'autre part le texte, en tirer les urls et noms de domaines
Une fois les tags détectés je lance donc :
Code :
BEGIN URLST /* URLST est en mode exclusif*/
yy_scan_string(yytext);
yylex();
D'apres ce que j'ai cru comprendre de la doc de flex apres le yy_scan_string(), l'appel a yylex() devrait relancer le parsing là où il s'etait arrété. Or ce n'est pas le cas, le parsing s'arrete...
Le parsing me donne les resultats : TAG : <img src=https://www.google.fr/toto/tiit/jacky.png/> URL : https://www.google.fr/toto/tiit/jacky.png/ DOMAIN : //www.google.fr
Comment puis-je refaire partir le parsing là où il s'etait arrété au moment de l'appel à yy_scan_string() tout en me remettant dans l'état INITIAL ?
Marsh Posté le 22-03-2005 à 11:28:42
Bonjour,
J'utilise flex afin de tokenizer des pages html. Le but etant de récupérer les tags et le texte (tout ce qui n'est pas tag) ainsi que les urls et noms de domaines (pouvant etre dans les tags ou dans le texte).
Je voudrai rechercher les urls et noms de domaines dans les tags. Afin de supprimer les problemes de précedence des détections ce que je voudrai faire est :
- détecter d'une part les tags, en tirer les urls et noms de domaines
- détecter d'autre part le texte, en tirer les urls et noms de domaines
Une fois les tags détectés je lance donc :
D'apres ce que j'ai cru comprendre de la doc de flex apres le yy_scan_string(), l'appel a yylex() devrait relancer le parsing là où il s'etait arrété.
Or ce n'est pas le cas, le parsing s'arrete...
Voici mon code :
Sur l'exemple suivant :
Pouet
<img src=https://www.google.fr/toto/titi/img.png/>
<img src=https://www.google.fr/toto/titi/img.png/>
<img src=www.google.fr/toto/tiit/img.png/>
Le parsing me donne les resultats :
TAG : <img src=https://www.google.fr/toto/tiit/jacky.png/>
URL : https://www.google.fr/toto/tiit/jacky.png/
DOMAIN : //www.google.fr
Comment puis-je refaire partir le parsing là où il s'etait arrété au moment de l'appel à yy_scan_string() tout en me remettant dans l'état INITIAL ?
Je vous remercie d'avance de vos reponses.
Nicolas