如何从图像网址数组中获取第一个jpg / png图像网址?

时间:2013-11-17 06:13:06

标签: ruby

我有一个名为images的函数,它从远程网站返回一个图像网址数组。我这样用它:

return page.description || page.images[0]

description的{​​{1}}不存在时,它会返回数组中的第一个图像网址。我希望获得第一张带有pagejpg扩展名的图片,而不是其他任何内容。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

使用Enumerable#find

images = ['http://example.com/a.html', 'http://example.com/image.jpg', 'http://example.com/image.png']
images.find { |url| url =~ /\.(jpg|png)$/i }
# => "http://example.com/image.jpg"
images.find { |url| url.downcase.end_with?('.jpg', '.png') }
# => "http://example.com/image.jpg"