Salut la planète,
J’ai un problème que je ne sais pas résoudre en Ruby. Je m’explique, je suis en train de créer un petit script qui sert à compter le nombre de balise html de chaque type dans un fichier donné en paramètre pour les afficher. Mon script ressemble à ceci :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | # Usage Check if $*.count != 1 then puts "Usage : #{$0} <html_file>" exit 1 end # is it a file ? if !File.file?($*[0]) then puts "Merci de spécifier un fichier html en paramètre." exit 2 end file = $*[0] File.open(file, 'r') do |file| file.each do |line| if line =~ /<(\w+)[^>]*>/ then puts $1.to_s, $2.to_s end end end |
Le problème c’est que quand dans le fichier html il y a des lignes du genre :
1 2 | <hr/><br> <span> bla bla </span> <test></test> |
Mon script ne me liste seulement ceci :
1 2 | hr span |
alors que je souhaiterais qu’il affiche :
1 2 3 4 | hr
br
span
test
|
Je ne parviens donc pas à résoudre ce problème qui devrait être pourtant simple..
Si vous pouvez apporter vos lumières ..
Merci
+0
-0