come rimuovere alcuni elementi da un file html con notepad?


0

Ho un file HTML contenente elenchi, immagini e tag span Voglio portare il nome delle immagini e il testo tra il tag span e rimuovere il resto, penso che ci sia qualche Reg Exp che può fare questo compito ma non riesco a capire come, potresti aiutarmi, questa è una parte del mio file:

           <a href="text/tirette-a-cable-boite-de-vitesse-manuelle-15187" class="ga-click js--header__cat-link" data-gac="Main_menu_parts_standard" data-ga-action="15187" data-ga-label="categories" data-category-id="15187" data-parent-id="10338" data-part-type="PKW">
                        <img alt="Tirette à câble, boîte de vitesse manuelle" src="./pathback/15187.png" class="mCS_img_loaded">                                <span>Tirette à câble, boîte de vitesse manuelle</span>
                    </a>
                </li>
                                        <li class="menu-category__second-item">
                    <a href="text/valve-de-commande-transmission-automatique-15185" class="ga-click js--header__cat-link" data-gac="Main_menu_parts_standard" data-ga-action="15185" data-ga-label="categories" data-category-id="15185" data-parent-id="10338" data-part-type="PKW">
                        <img alt="Valve de commande, transmission automatique" src="./pathback/15185.png" class="mCS_img_loaded">                                <span>Valve de commande, transmission automatique</span>
                    </a>
                </li>

Voglio che l'immagine del nome + il contenuto del testo tra tag span siano simili a questo:

15187.png + Tirette à câble, boîte de vitesse manuelle

grazie


HTML e regex non sono buoni amici. Usa un parser, è più semplice, più veloce e molto più gestibile. Una regex per tale lavoro sarà terribile.
Tot

Risposte:


0

Dovresti davvero scrivere uno script con parser html (come php ).

Ma se vuoi farlo con Notepad ++, ecco un modo per andare:

  • Ctrl+H
  • Trovare cosa: <img .*?src="[^"]+/([^/"]+).+?<span>([^<]+)</span>
  • Sostituirlo con: $1 $2
  • Deseleziona Caso di corrispondenza
  • seleziona Avvolgi
  • seleziona Espressione regolare
  • NON CONTROLLARE . matches newline
  • Replace all

Spiegazione:

<img            # literally <img and a space
.*?             # 0 or more any character but newline, not greedy
src="[^"]+/     # literally src=" followed by 1 or more non quote then a slash
([^/"]+)        # group 1, 1 or more not quote not slash
.+?             # 1 or more any character but newline, not greedy
<span>          # literally <span>
([^<]+)         # group 2, 1 or more any character that is not <
</span>         # literally </span>

Sostituzione:

$1  # content of group 1, filename
    # a space
$2  # content of group 2, test inside span

Risultato per un esempio dato:

       <a href="text/tirette-a-cable-boite-de-vitesse-manuelle-15187" class="ga-click js--header__cat-link" data-gac="Main_menu_parts_standard" data-ga-action="15187" data-ga-label="categories" data-category-id="15187" data-parent-id="10338" data-part-type="PKW">
                    15187.png Tirette à câble, boîte de vitesse manuelle
                </a>
            </li>
                                    <li class="menu-category__second-item">
                <a href="text/valve-de-commande-transmission-automatique-15185" class="ga-click js--header__cat-link" data-gac="Main_menu_parts_standard" data-ga-action="15185" data-ga-label="categories" data-category-id="15185" data-parent-id="10338" data-part-type="PKW">
                    15185.png Valve de commande, transmission automatique
                </a>
            </li>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.