У меня есть 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

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

1 ответ1

0

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

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

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

Объяснение:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .