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
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.
> Conoscete qualche tool/software/script che possa automatizzare la procedura?
Sed e regexp.
> 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.
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.
I casini li sto provando con l'inserimento dello script di google
analytics....
> <a href="link.com">Testo</a>
Rinomini il file in .html
Lo apri con IE
Selezioni tutto
Copi
Apri Notepad
Incolli
Fatto.
>> 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...
> 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.