Coldfusion正则表达式,从html标签中获取内容

时间:2013-08-12 08:51:45

标签: regex coldfusion

我目前在我尝试解析为reReplaceNoCase的字符串中包含以下HTML:

<blockquote class="id-1241">
<p>Stuff</p>
</blockquote>
<p>Test</p>
<blockquote class="id-2441">
<p>More stuff</p>
<blockquote>
<p>Test</p>
</blockquote>
</blockquote>

我想最终将其转换为:

{{1241}}
<p>Test</p>
{{2441}}

所以我想从blockquote类中取出id,并使用它来替换blockquote。我目前正在使用reReplaceNoCase来执行此操作,但我注意到它结束了最后一个关闭blockquote标记末尾的正则表达式,而不是那个“连接”到正确的blockquote开始标记的正则表达式,导致结果如下:

{{1241}}

这就是我目前使用的:

reply = reReplaceNoCase(reply, '<blockquote class="id-([0-9]+)">(.*)</blockquote>', '{{\1}}', 'ALL');

有没有人有一个更好的例子,结果是我想要的?我认为我可以使用一个带有reFind的循环,或者沿着这些界限的东西,但这似乎太麻烦了,我认为有更简单的方法来做到这一点,并且还有更好的性能。

如果可能的话,我也想避免直接使用Java。

1 个答案:

答案 0 :(得分:0)

我最终使用了jQuery - 虽然我说我不喜欢在客户端做这件事,但我工作的公司也不喜欢过分依赖库 - 我们已经有很多了。

我认为我不需要解释我是如何在jQuery中做到这一点的,因为它非常简单,并且已经存在关于在jQuery中更改元素的一百万个教程。