Как удалить некоторые элементы из HTML-файла с помощью блокнота?

298
samran

У меня есть Html-файл, содержащий списки, изображения и теги span. Я хочу перенести имя изображения и текст между тегом span и удалить остальные, я думаю, что есть некоторый Reg Exp, который может выполнить эту задачу, но я не могу понять, Как, не могли бы вы помочь, это часть из моего файла:

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

Я хочу в результате иметь имя изображения + текстовое содержимое между тегом span что-то вроде этого:

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

благодарю вас

0
HTML и регулярные выражения не являются хорошими друзьями. Используйте парсер, он проще, быстрее и гораздо более удобен в обслуживании. Регулярное выражение для такой работы будет ужасным. Toto 5 лет назад 0

1 ответ на вопрос

0
Toto

Вы действительно должны написать скрипт с парсером html (например, php ).

Но если вы хотите сделать это с помощью Notepad ++, вот путь:

  • Ctrl+H
  • Найти то, что: <img .*?src="[^"]+/([^/"]+).+?<span>([^<]+)</span>
  • Заменить: $1 $2
  • UNcheck Match case
  • проверить обернуть
  • проверьте регулярное выражение
  • НЕ ПРОВЕРИТЬ . matches newline
  • Replace all

Объяснение:

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

Замена:

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

Результат для данного примера:

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

Похожие вопросы