nouveau probleme flex

nouveau probleme flex - C - Programmation

Marsh Posté le 03-03-2005 à 14:19:31    

Bonjour,
 
J'ai un nouveau probleme avec flex j'espere que quelqu'un pourra m'aider...
 
Voilà, je desire supprimer les scripts de mes pages html que je tokenize.
 
Je procede comme suit sous flex :
<INITIAL><script((.|\n)*?)script>  {putchar(' ');}
 
Le probleme est que si j'ai un code du style :
<script language="javascript">
     if a<b a=b
</script>
 
   http://forum.hardware.fr/
   <table width="150">
   </table>
 
<script>
    pouet
</script>
 
Il me vire tout, alors que normalement le (.|\n)*? est censé ne pas etre "gourmand".
J'ai essayé des choses du style  
<script((^script>|\n)*?)script>  {putchar(' ');}
 
Mais cela ne fonctionne pas non plus (ça ne me vire meme pas les tags...).
 
Est-ce qqun aurait une solution ou bien meme un debut de solution ?
 
Je vous remercie d'avance.

Reply

Marsh Posté le 03-03-2005 à 14:19:31   

Reply

Marsh Posté le 03-03-2005 à 14:24:54    

oué, avec yy_push_state et yy_pop_state()
 
genre
 
<INITIAL>"<script"   {yy_push_state(SCRIPT);}
<SCRIPT>"/script>"   {yy_pop_state();}
<SCRIPT>"\n"         {}
<SCRIPT>.            {}
 
 
en gros (cf doc de flex pour les states)
 
 
 

Reply

Marsh Posté le 03-03-2005 à 14:35:54    

ok merci je vais regarder ça.
J'ai qques trucs a faire avant, je repondrai quand ça marchera.
 
Merci encore

Reply

Marsh Posté le 03-03-2005 à 14:59:05    

ça marche nickel !!
Merci bien !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed