Buenas,
teniendo el siguiente ejemplo de código HTML
Using html4strict Syntax Highlighting
...
<p><span class="font5" style="font-weight:bold;">Celso Barbasa</span></p>
<p><span class="font1">Presidente de la Cámara de Comercios</span></p>
...
Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
necesito obtener los valores de los atributos "class" de cada etiqueta "span", para posteriormente agrupar los textos contenidos en cada "span".
He conseguido obtener el texto dentro de cada etiqueta "span", pero no soy capaz de obtener el valor del atributo "class".
Parte del código que estoy utilizando:
Using perl Syntax Highlighting
# handler para el comienzo de las etiquetas
sub start
{
my ($self, $tag, $attr, $attrseq, $text) = @_;
if ($tag eq "span")
{
print "<p>".$tag." ".$attr->{start}."</p>";
$span_flag = 1;
$parte = substr($attr->{'class'}, 4);
}
else
{
$span_flag = 0;
}
if ($tag eq "a")
{
for (keys %{$attr})
{
print "$_ = > $attr->{$_}";
}
}
}
my $fichero = "../SKMBT_C22011041113360.htm";
my $parser = HTML::Parser->new( api_version => 3,
handlers => [
# start => [ \&start, "tagname, attr, attrseq, text"],
start => [ \&start, "self, tag, attr, attrseq, text"],
text => [ \&text, "dtext"],
end =>[ \&end, "tagname"],
],
marked_sections => 1,
);
$parser->report_tags(qw(span));
open (my $fh, $fichero) || die;
$parser -> parse_file($fh);
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
Quisiera saber si alguien ha tenido un problema similar, y ha conseguido resolverlo, o dónde encontrar información sobre este módulo. La documentación de CPAN está bien, pero no consigo hacerlo funcionar...
¡Muchas gracias!
Saludos.