Ciao a tutti.
Premetto che non sono un programmatore ma un designer.
Sto facendo un'opera di pulizia di un grosso database di files html pieno di tag inutili, ed ho quasi finito ma mi mancano un paio di comandi regex che non riesco a creare:
Con questo comando, suggeritomi, riesco perfettamente a rimuovere tag con l'attributo specificato (class="ArticoloTesto"), conservando il testo contenuto:
trova: (?s)<p[ \t\r\n]+class="ArticoloTesto">(.+?)</p>
sostituisci: \1
Ora, avrei bisogno anche dell'opposto. Ovvero vorrei fare lo strip di tutti i tag P che siano senza l'attribbuto specificato. Non in generale senza attributo (anche quello potrebbe essere utile), ma mi servirebbe proprio eliminare tutti quelli SENZA l'attributo class="ArticoloTesto".
Per la cronaca, questi comandi li sto utilizzando con sistemi di advanced find and replace basati su motore Perl. In particolare Ultra Edit.
Quello che vorrei ottenere è:
stringhe originali:
<p class="ArticoloTitoloPrincipale">Disposizioni sulle acque</p>
<p class="ArticoloTesto">Fonte: BOLLETTINO UFFICIALE DELLA REGIONE TRENTINO-ALTO
ADIGE
N. 28
del 2 luglio 2002
SUPPLEMENTO N. 2 </p>
testo prova</p>
stringhe desiderate:
Disposizioni sulle acque
<p class="ArticoloTesto">Fonte: BOLLETTINO UFFICIALE DELLA REGIONE TRENTINO-ALTO
ADIGE
N. 28
del 2 luglio 2002
SUPPLEMENTO N. 2 </p>
testo prova
Infine, sempre se non chiedo troppo, mi farebbe comodissimo anche un comando che sia in grado di cambiare specifiche coppie di tag con specifico attributo conservando il contenuto. ad es:
originale: <span class="ArticoloTesto">testo che rimane lo stesso</span>
voluto: <p class="ArticoloTesto">testo che rimane lo stesso</p>
qualsiasi altro span dovrebbe rimanere invariato.
Con un banale find replace non posso perché c'è la relativa tag di chiusura da modificare.
Sapete come aiutarmi?
Un grazie comunque a tutti.

Rispondi quotando