删除<img/>标记上的内联样式并替换为类

时间:2014-07-29 15:18:27

标签: html css regex

我正在处理图像繁重的HTML代码。问题是,图像背负着我想删除的多余内联样式。这是一个例子:

<img src="Resources/Images/Desktop Advanced Manual 0 Welcome/3000186.png" style="z-index: 67;visibility: visible;mso-wrap-style: square;mso-width-percent: 0;mso-height-percent: 0;mso-wrap-distance-left: 9pt;mso-wrap-distance-top: 0;mso-wrap-distance-right: 9pt;mso-wrap-distance-bottom: 0;mso-position-horizontal: absolute;mso-position-horizontal-relative: text;mso-position-vertical: absolute;mso-position-vertical-relative: text;mso-width-percent: 0;mso-height-percent: 0;mso-width-relative: page;mso-height-relative: page;margin-left: 0.3pt;width: 346px;height: 113px;" />

虽然搜索和替换会很精彩,但宽度和高度以及左边距等会随着每张图像而变化。

我一直在做的是转到每个<img>代码,删除每个代码中的内联样式并将其替换为class="screenshot"

当我完成后,代码如下所示:

<img src="Resources/Images/Desktop Advanced Manual 0 Welcome/3000186.png" class="screenshot" />

精彩 - 但数百个文件中有数百张图片。

有人有办法更有效地做到这一点吗?我不熟练使用PHP或JavaScript。也许一些很棒的正则表达式会有所帮助吗?

1 个答案:

答案 0 :(得分:2)

要匹配除引号之外的任何内容,然后是结束引号:

style="[^"]+"

[^"]+匹配任何不是"的字符。在+之后添加class="screenshot" 意味着&#34;一次或多次。&#34;

并将其替换为:

{{1}}

没有测试它,但它应该在Notepad ++(仅限Windows)中工作。

更多信息 here