[ LUGOS-PROG ] izpis vseh HTML tagov

Matija Grabnar matija.grabnar at arnes.si
Mon Apr 16 11:24:06 CEST 2001


> ki bi poiskal vse HTML tage in jih shranil v nek array
> Se pravi da poisce in shrani vse med znakoma < in >.

To sta dve razlicni stvari. Borut ti je ze odogovoril na drugo vprasanje
(kako zlistati vse, kar se nahaja med "<" in ">"). Njegova resitev
je najbrz hitrejsa od moje, ne deluje pa, ce ima tag znak ">" kot del atributa,
recimo

<input type="button" name="levo" value=" > " >

Prav tako Borutova resitev ne deluje, ce tag vsebuje newline (kot ga 
frontpage-ov HTML pogosto), recimo:

<input type=hidden
name=password>

Ce je zanesljivost pomembna, potem se bolje obnese tole:

#!/usr/bin/perl -w
use HTML::Parser;
#
# Parserju povemo, da nas zanimajo tako start (<>) kot end (</>) tagi, in da 
# naj celoten text taga shrani v polje @tags.
#
$p=HTML::Parser->new(start_h=>[\@tags,"text"],
		     end_h=>[\@tags,"text"]);

# parserju podamo vse vhodne datoteke
$p->parse(join("",<>));

#
# Elementi @tags so zdaj polja, ki imajo vsako en element, zato moramo
# @tags se "splosciti".
#
@tags=map($_=$$_[0], at tags);

....(od tu naprej lahko z @tags delas kar hoces)....

Ce te zanima se kaj, se lahko naprej pogovarjamo na perl-sloveni at egroups.com

Lep pozdrav,
         Matija



More information about the lugos-prog mailing list