[Tech] Indice dei file html
Leonardo Boselli
leo@dicea.unifi.it
Gio 3 Ott 2002 12:21:19 CEST
A dire il vero se lo attacco tutto assiema sta in 4 righe ....
tuttavia per la bevita "intera" mi manca una cosa:
all'inizio di ogni file c'è una riga ... che contien sicuramente
qualcosa del tipo {%ury^x#@w1 ossia una sequenza sicuramente
unica. Tale riga dovrebbe essere copiata integralmente nel file di
output (contiene alcune informazioni importanti, già formattate), e
solo dopo tale momento cominciare il parse dei nomi.
si può fare ? (non ho ben chiaro cosa faccia la funziona handler ...)
On 3 Oct 2002, at 7:55, Franco Bagnoli wrote:
From: Franco Bagnoli <franco.bagnoli@unifi.it>
To: tech@firenze.linux.it
Subject: Re: [Tech] Indice dei file html
Send reply to: tech@firenze.linux.it
<mailto:tech-request@firenze.linux.it?subject=subscribe>
<mailto:tech-request@firenze.linux.it?subject=unsubscribe>
Date sent: Thu, 3 Oct 2002 07:55:17 +0200 (CEST)
> On Wed, 2 Oct 2002, Leonardo Boselli wrote:
>
> > Vorrei sapere se esite uno script che dato in input un file html mi
> > prenda tutti i tag <Hn>BlaBla</Hn> in output mi dia <Hn><a href
> > "nome_delfile_in_cui_lo_ho_trovato#BlaBla">BlaBla</Hn>
> >
> > (o meglio col comando 'indicizza file1.html file2.html file3.html >
> > index.html' abbreviabile, se la sequenza è giusta in 'indicizza
> > file?.html > index.html')
> >
> [snip]
> > oppure possiamo fare un torneo di scripting ... chi fa quello più
> > carino vince una bevuta ....
>
>
> Ecco il mio contributo
>
> #!/usr/bin/perl
>
> use HTML::Parser;
>
> my $p = new HTML::Parser ();
>
> my $out=0;
> my $filename="";
> my $string = "";
>
> $p->handler(text, sub{$string .= shift if $out}, 'text');
> $p->handler(start, sub{$out = 1 if $_[0] =~ /H1/i}, 'tagname');
> $p->handler(
> end,
> sub{
> if ($_[0] =~ /H1/i) {
> $out = 0;
> print "<H1><a href=\"$filename#$string\">$string</H1>\n";
> $string="";
> }
> },
> 'tagname'
> );
>
> while ($filename=shift){
> $p->parse_file($filename);
> }
>
>
> anche se non è nelle 4 righe standard delle competizioni.
> Secondo me devi filtrare $string prima di stamparla come referenza
> (#string), e poi non ho capito che te ne fai se nel file sorgente non
> hai un <a name="..">, comunque aspetto la bevuta.
>
>
>
> --
> Franco Bagnoli (franchino) <franco.bagnoli@unifi.it>
> (bagnoli@dma.unifi.it) virtual location: Dipartimento di Energetica
> "S. Stecco" real location: Dip. Matematica Applicata "G. Sansone",
> Universita' Firenze, Via S. Marta, 3 I-50139 Firenze, Italy. Tel. +39
> 0554796422, fax: +39 055471787 GPG Key fingerprint = 169D 9EA5 8FD3
> 7EDA E43A 9830 255F BCEC 0D63 3728
>
> _______________________________________________
> FLUG - Discussioni tecniche - tech@firenze.linux.it
> URL: http://lists.firenze.linux.it/mailman/listinfo/tech
> Archivio: http://lists.firenze.linux.it/pipermail/tech
> Ricerca nell'archivio: http://www.firenze.linux.it/search
--
Leonardo Boselli
Nucleo informatico e Telematico
Dipartimento Ingegneria Civile
Universita` di Firenze
Via Santa Marta 3
I-50139 Firenze
+39 055-4796-431
+39 348-8605-348
fax 055-495-333
Maggiori informazioni sulla lista
flug-tech