Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Programma/script pulizia html

0 views
Skip to first unread message

juan

unread,
Jan 6, 2010, 7:06:54 PM1/6/10
to
Ciao a tutti,
nei prossimi giorni dovrei effettuare un lavoro di data entry piuttosto
corposo e sto cercando delle soluzioni per velocizzare il tutto.

Tra le altre cose dovrei rimuovere da centinai di documenti html tutto i
link presenti al loro interno.
Esempio:
Da
<a href="link.com">Testo</a>
a
testo.

Conoscete qualche tool/software/script che possa automatizzare la procedura?

Grazie

juan

unread,
Jan 6, 2010, 7:08:05 PM1/6/10
to
Ciao a tutti,
nei prossimi giorni dovrei effettuare un lavoro di data entry piuttosto
corposo e sto cercando delle soluzioni per velocizzare il tutto.

Tra le altre cose dovrei rimuovere da centinaia di documenti html tutto

i link presenti al loro interno.
Esempio:
Da
<a href="link.com">Testo</a>
a

Testo.

Euclide

unread,
Jan 7, 2010, 2:22:52 AM1/7/10
to
Con un editore testi tipo textpad ma casomai lo fa anche word e DW basta
che fai trova e sostituisci tutto in tutte le pagine.

Andrea D'Amore

unread,
Jan 7, 2010, 2:49:09 AM1/7/10
to
In article <4b45259e$0$824$4faf...@reader5.news.tin.it>,
juan <juand...@dil.com> wrote:

> Conoscete qualche tool/software/script che possa automatizzare la procedura?

Sed e regexp.

Alessandro Pellizzari

unread,
Jan 7, 2010, 4:41:52 AM1/7/10
to
Il Thu, 07 Jan 2010 08:22:52 +0100, Euclide ha scritto:

> juan wrote:
>> Tra le altre cose dovrei rimuovere da centinaia di documenti html tutto
>> i link presenti al loro interno.

>> Conoscete qualche tool/software/script che possa automatizzare la
>> procedura?

> Con un editore testi tipo textpad ma casomai lo fa anche word e DW basta


> che fai trova e sostituisci tutto in tutte le pagine.

Textpad non lo conosco, ma non mi pare che Word supporti le regexp in
cerca/sostituisci.

Io direi sed, awk, perl o un derivato (PHP o Python con PCRE, per esempio)

Bye.

Cooper

unread,
Jan 7, 2010, 4:54:02 AM1/7/10
to

"Alessandro Pellizzari" <shur...@amiran.it> ha scritto nel messaggio
news:7qloj0...@mid.individual.net...

> Textpad non lo conosco, ma non mi pare che Word supporti le regexp in
> cerca/sostituisci.
>

Le regexp bisogna saperle usare nel modo corretto e in ogni caso, visto che
al 99% si finirà col commettere un errore... meglio fare prima una copia di
backup.

PS: Dico al 99% perchè se prima non controlli con attenzione che tutto ciò
che vuoi sostituire segua una "regola" ben precisa... dopo ti ritrovi con
più casini di quanti se ne poteva avere in partenza.

Euclide

unread,
Jan 7, 2010, 7:35:04 AM1/7/10
to

I casini li sto provando con l'inserimento dello script di google
analytics....

Scrotino Fiscale

unread,
Jan 7, 2010, 8:41:59 AM1/7/10
to
juan ha scritto:

> <a href="link.com">Testo</a>

Rinomini il file in .html
Lo apri con IE
Selezioni tutto
Copi
Apri Notepad
Incolli

Fatto.

FP

unread,
Jan 7, 2010, 9:45:30 AM1/7/10
to
Andrea D'Amore ha scritto:

>> Conoscete qualche tool/software/script che possa automatizzare la procedura?
>
> Sed e regexp.

Si, ma sed e le sue regexp hanno la caratteristica di trovare la stringa
più lunga... faccio un esempio... se voglio proprio far sparire tutta la
stringa
<a href="1">pippo</a>
posso fare un s/<a.*\/a>//
ma se volessi far rimanere la scritta pippo come dovrei fare ?
un s/<a.*>// mi cancella tutto...

Probabilmente con preg_match_all riuscirei...

Manlio Perillo

unread,
Jan 7, 2010, 9:56:11 AM1/7/10
to

Potresti usare un parser HTML, ad esempio
http://code.google.com/p/html5lib/

Ciao Manlio

Andrea D'Amore

unread,
Jan 7, 2010, 11:47:25 AM1/7/10
to
In article <hi4s26$60q$1...@newsreader2.mclink.it>,
FP <mc8647__nn...@mclink.it> wrote:

> Si, ma sed e le sue regexp hanno la caratteristica di trovare la stringa
> più lunga...

No, dipende dal motore di regexp, inoltre in genere è possibile forzare
il comportamento per interrompere il matching subito o continuare.

> ma se volessi far rimanere la scritta pippo come dovrei fare ?

Usi il backreference, qualcosa del tipo

s/<a[^>]+>([^<]*)</a>/\1/

dove ho usato [^ piuttosto di .* che spesso non fa quello che si crede.

0 new messages