2011-05-25 69 views
0

我有一個twitter feed在頁面上顯示我的推文。我想包括我的twitpic圖像的縮略圖。我一直在用gsub替換文本,但我很難搞清楚語法。Ruby on Rails從url中拉出一個id,插入image_tag(gsub?)

與原始標籤典型的「twitpic鳴叫」輸出看起來就像這樣:

This is a tweet with an image. http://twitpic.com/12345 

隨後的鏈接圖像

http://twitpic.com/show/thumb/12345.jpg 

下面是簡單的代碼來顯示文本:

<% @tweets.each do |tweet| %> 
    <li> 
    <%= raw tweet.text %> 
    </li> 
<% end %> 

所以我一直在試驗gsub,但我很困難。

我可以搜索http://twitpic.com/ *通過/http:\/\/twitpic.com?[^]+然後取出用一切的URL,與原始的HTML取代它,但是這並沒有幫助,如果我想鏈接圖像。

如果我可以提取twitpic id(http://twitpic.com/12345),我可以將12345放入一個輔助方法,該方法輸入一個字符串並將其插入到鏈接的圖像中。

如果任何人都可以給我一些關於如何提取此ID的見解,將不勝感激。

回答

1

也許你可以使用,而不是一個正則表達式#split?

"This is a tweet with an image. http://twitpic.com/12345".split("http://twitpic.com/")[1] 
+0

也許不是最好的解決方法,但這種工作奇妙:<(%)=原始tweet.text.gsub(/ HTTP:\/\/twitpic.com?[^>]+/){的link_to IMAGE_TAG( 「http://twitpic.com/show/thumb/#{tweet.text.split("http://twitpic.com/")[1]}」,:border => 0),「http:// twitpic.com/#{tweet.text.split("http://twitpic.com/")[1]}「}%> – a3uge 2011-05-25 05:42:29

1

如果你想從http://twitpic.com/show/thumb/12345.jpg提取ID那就試試這個來獲取ID出來的:

"http://twitpic.com/show/thumb/12345.jpg".scan(/^http:\/\/twitpic.com\/show\/thumb\/(\d+).jpg$/).flatten.first