我有一个包含列表、图像和 span 标签的 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+电缆提手,手动快拆盒
谢谢
答案1
你确实应该编写一个具有 html 解析器的脚本(例如php)。
但是如果你想用 Notepad++ 来做到这一点,可以采用以下方法:
- Ctrl+H
- 找什么:
<img .*?src="[^"]+/([^/"]+).+?<span>([^<]+)</span>
- 用。。。来代替:
$1 $2
- 取消勾选匹配大小写
- 检查环绕
- 检查正则表达式
- 请勿检查
. 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>