як видалити деякі елементи з html-файла з блокнотом?


0

У мене є файл Html зі списками, зображеннями та прольотними тегами, я хочу перенести ім’я зображень та тексту між тегом 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

спасибі


HTML і регулярний вираз не є добрими друзями. Використовуйте аналізатор, він простіший, швидший і набагато рентабельніший. Підсумок такої роботи буде жахливим.
Toto

Відповіді:


0

Ви дійсно повинні написати сценарій, який має html-аналізатор (наприклад, php ).

Але якщо ви хочете зробити це за допомогою Notepad ++, ось такий шлях:

  • Ctrl+H
  • Знайти що: <img .*?src="[^"]+/([^/"]+).+?<span>([^<]+)</span>
  • Замінити: $1 $2
  • Справа відповідності UNcheck
  • перевірити Загорнути
  • перевірити Регулярне вираження
  • НЕ ПЕРЕВІРИТЕ . 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>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.