Ciao Mich_ :-)
Innanzitutto grazie per la tua gentile risposta, e scusa per la mia tarda risposta. Mi sono dimenticato di sottoscrivere il thread e quindi ho letto solo oggi.
Le RegEx che ho usato sono quelle, immagino leggermente modificate, di alcuni software di find-replace avanzati. In prticolare UltraEdit, che consente di scegliete 3 motori (Perl, Unix e UltraEdit).
I comandi che ho usato sono quasi tutti in Perl, ma a questo punto mi pare ovvio che si tratta di un Perl modificato.
Ad ogni modo ho completato l'opera e non è stato facile, perchè avevo ben 3200 files html pieni zeppi di tag p e span, anche nidificati, totalmente inutili, tipo un'apertura e chiusura di tag per ogni riga. Tieni conto che ho files html che constano di 80/100 pagine di testo ciscuno. Immagina un tag p per ogni riga, e magari anche con invii errati, con il testo che doveva proseguire.
Alla fine ho usato le maniere forti ed ho rinominato i pochissimi tag P e span che mi servivano, ed ho rimosso in blocco tutti i tag p e span di apertura e di chiusura, sostituendoli quando necessario con
o con uno spazio.
Dopodiché ho ricreato il tag p titolo, poi il tag p testo, ed infine anche il tag <title>, che mancava, contenente la prima riga di testo trovata nel body.
Un lavoro enorme ma ne è valsa la pena. Tutti i files sono ora corretti, perfettamente funzionanti, e totalmente privi di errori.
La macro finale constava di ben 14 comandi!
Per eventuale aiuto ad altri allego qui di seguito alcuni comandi che ho usato, e che hanno funzionato alla perfezione su UltraEdit (che è gratuito per 30gg):
Strippa tutti i P senza l'attrib specificato:
codice:
find: <p(?![ \t\r\n]+class="ArticoloTesto").*?>(.+?)</p>
replace: \1
Comando per eseguire lo strip di un tag con uno specifico attrib:
codice:
find: (?s)<p[ \t\r\n]+class="ArticoloTesto">(.+?)</p>
replace: \1
Spero di essere stato d'aiuto a qualcuno, come altri lo sono stati con me :-)
Un saluto.