需要用文本替换动态图像标记

时间:2012-10-16 10:16:59

标签: regex replace

我需要用文本替换下面的url(包括img标签)。我对正则表达式不太满意......正如你可以看到它的动态日期,它以两种不同的方式结束: 使用 alt =“;)”> ,有时使用 class =“wp-smiley”/>

<img src="http://thailandsbloggare.se/wp-content/uploads/2012/10/icon_wink.gif" alt=";)">

有时最后会有class =“wp-smiley”

<img src="http://thailandsbloggare.se/wp-content/uploads/2012/09/icon_wink.gif" alt=";)" class="wp-smiley" />

因此,无论何时发布此图像,我都希望将完整的字符串替换为文本“;)”

我设法为所有内容编写正则表达式,直到 alt =“;)”&gt; ,有时使用 class =“wp-smiley”/&gt; 但是然后我被困住了,压力需要一些OR功能。

<img src="http://thailandsbloggare.se/wp-content/uploads/20\d\d/\d+/icon_wink\.gif

以下回复后的更新信息

<img src="http://thailandsbloggare.se/wp-content/uploads/20[0-9]{2}/[01][0-9]/icon_wink.gif" alt=";\)" *(|class="wp-smiley")?>

和     

两个都无法返回 class =“wp-smiley”/&gt; 包含的字符串

它是使用PHP在Wordpress中构建的网站,我正在使用http://urbangiraffe.com/plugins/search-regex/

提前致谢!

2 个答案:

答案 0 :(得分:0)

通常,在正则表达式中,您可以创建替代的子正则表达式:

(match this|or this)

在你的情况下

(alt=";\)"|class="wp-smiley")

如果alt =“;)”始终存在,请执行:

alt=";\)" *(|class="wp-smiley")

当然,我们不知道您使用的是哪种编辑器或编程语言,实际的正则表达式实现可能与上面的示例不同。

答案 1 :(得分:0)

尝试以下模式搜索:

<img src="http://thailandsbloggare.se/wp-content/uploads/20[0-9]{2}/[01][0-9]/icon_wink.gif" alt=";\)"(\sclass="wp-smiley")?>

请参阅您正在使用的正则表达式引擎支持的语法。但是,对于大多数引擎,上述模式应该有效。请注意用于日期范围的字符类,您应该适当地更改它。