![]() |
| Problème de 'parse | |
| reboltof | 7-Mar-2014/18:25:55+1:00 |
| Bonjour les reboleurs, Il y a maintenant une dizaine d'années, je me débrouillais pas mal avec le formidable parseur de REBOL. Mais n'ayant plus pratiqué depuis, je suis de nouveau confronté à mes limites. J'apprécierais votre aide pour le cas suivant. *But poursuivi*: extraire d'un fichier .html les noms de fichier en .js et en .css *Code utilisé*: file: read %sommaire.html ref: copy "" parse file [ some [ [thru "src=" copy ref to ">" (print "js")] | [thru "href=" copy ref to "/>" (print "css")] ] ] *Résultat obtenu*: "js js js js js js js" alors que des "css" sont présents J'ai essayé diffèrentes variations, mais sans meilleurs résultats. Là je coince, et je passe à l'équipe | |
| deglingo | 7-Mar-2014/19:57:09+1:00 |
| Bonjour Reboltof, Allez, je me lance. Ca va me faire pratiquer un peu. Voilà ma tentative : file: read %sommaire.html
ref: copy ""
result: copy []
css: copy []
js: copy []
parse file [
any [
[to "<link" thru {href="} copy ref to {"} [to "/>" | to "</link>"] (
append result ref
append css ref
)]
| [to "<script" thru {src="} copy ref to {"} [to "/>" | to "</script>"] (
append result ref
append js ref
)]
]
]
probe result
probe css
probe js
save %result.txt resultPar-contre, tu peux passer à côté des appels de CSS et de JS construits dynamiquement. | |
| deglingo | 7-Mar-2014/20:37:34+1:00 |
Autre variante :file: read %sommaire.html
ref: copy ""
css: copy []
js: copy []
parse file [
any [
[thru {href="} | thru {src="}] copy ref to {"} (
if find ref ".css" [append css ref]
if find ref ".js" [append js ref]
)
]
]
probe css
probe js
result: union css js
save %result.txt result
save %css.txt css
save %js.txt js | |
| reboltof | 15-Mar-2014/15:43:18+1:00 |
| Merci deglingo, je teste ça le plus rapidement possible ! | |
|
Login required to Post. | |