如何从velocity中的字符串中提取<img ...=""/>标记的img src值

时间:2017-07-10 18:25:52

标签: velocity

我正在获取一个包含img标签的RSS源,在我的后端速度脚本中,我想提取img src。

因此,RSS提要包含一个带有img标记的段落:

<p>
<img alt="" src="//path1/path2/path3/imagename.jpg?x=1499453513435" style="margin: 5px; width: 313px; height: 400px; float: left;" />
Some text goes here...
</p>

以上是RSS提要的描述元素的示例。

我正在尝试提取img src。

我尝试过类似的事情:

#set($index1 = $!content.description.indexOf("<[^>]*>"))
#set($index2 = $!content.description.indexOf("/>"))
#set($index2 = $index2 + 2)
#set($imgsrc="$!content.description.substring($index1, $index2))

1 个答案:

答案 0 :(得分:0)

以下是我用于成功提取img src值的图像路径(包括图像名称)的内容:

#set($index1 = $!content.description.indexOf("src="))
#set($index1 = $index1 + 5)
#set($index2 = $!content.description.indexOf("?x="))
#set($index2 = $index2)
#set($imgsrc=$!content.description.substring($index1, $index2))

我第一次探索

#set($index1 = $!content.description.indexOf("src="))
#set($index1 = $index1 + 5)
#set($index2 = $!content.description.indexOf("?x="))
#set($index2 = $index2)
#set($imgsrc=$!content.description.substring($index1, $index2))

并且它有效,但在考虑到图像扩展名可能不一定是.jpg

后我改为替代方案