Wie entferne ich einige Elemente aus einer HTML-Datei mit Notepad?

376
samran

Ich habe eine HTML-Datei mit Listen, Bildern und Span-Tags. Ich möchte den Namen der Bilder und den Text zwischen den Span-Tag bringen und den Rest entfernen. Ich denke, es gibt einige Reg Exp, die diese Aufgabe erledigen können, aber ich kann es nicht verstehen Wie kannst du mir bitte helfen, das ist ein Teil meiner Akte:

 <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> 

Ich möchte als Ergebnis Name image + Textinhalt zwischen span tag, etwa wie folgt:

15187.png + Tirette à câble, Boîte de Vitesse manuelle

Danke dir

0
HTML und Regex sind keine guten Freunde. Verwenden Sie einen Parser, er ist einfacher, schneller und viel wartungsfreundlicher. Ein Regex für einen solchen Job wird schrecklich sein. Toto vor 5 Jahren 0

1 Antwort auf die Frage

0
Toto

Sie sollten wirklich ein Skript schreiben, das HTML-Parser enthält (wie PHP ).

Wenn Sie das mit Notepad ++ machen möchten, können Sie Folgendes tun:

  • Ctrl+H
  • Finde was: <img .*?src="[^"]+/([^/"]+).+?<span>([^<]+)</span>
  • Ersetzen mit: $1 $2
  • Deaktivieren Sie die Option "Groß- / Kleinschreibung"
  • Aktivieren Sie die Option Wrap around
  • Überprüfen Sie den regulären Ausdruck
  • NICHT PRÜFEN . matches newline
  • Replace all

Erläuterung:

<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> 

Ersatz:

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

Ergebnis für gegebenes Beispiel:

 <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>