
Envoyé par
sigeme
Je cherche un ti regxp qui me permetterais de récupérer les eventuelles tags lang="?" dans les entête html
.
Euh ... au vol ...
@tags=($html =~ m/<html lang="(.*?)">/gi)

Envoyé par
sigeme
J'ai trouvé sur le W3C
http://www.loc.gov/standards/iso639-2/langcodes.html le code de toutes langues que j'ai mis dans un jolie hash
1 2 3 4 5 6 7 8
| %lang = (
aar => "Afar",
aa => "Afar",
...
); |
le problème c'est que suis pas doué avec les hash
je cherche comment le parcourir et si je trouve une correspondance entre mon ti tag html et un item du hahs je fait +1
en clair si mon tag est fr et que je trouve fr j'attrivue a fr la valeur 1
fr = 1; sinon 0
Je suis pas doué pour les explications

Un truc du genre :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| my @tags = ($html =~ /<html lang="(.*?)">/gi);
map { $_=lc($_) } @tags; # Pour avoir tous les tags en minuscules
my %found;
foreach my $tag (@tags) {
if (exists ($lang{$tag})) {
$found{$tag}++;
}
}
foreach my $clef (keys(%found)) {
print $lang{$clef}." Trouvé ".$found{$clef}." fois.\n";
} |
Car tu ne peux (dois) pas incrémenter directement dans ton hash $lang si tu t'en sers toujours pour connaître le nom de la langue correspondant au code ...
Bon courage.
Partager