Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails从url中提取一个id,插入到图像标签(gsub?)_Ruby On Rails_Ruby On Rails 3_Twitter_Gsub_Twitpic - Fatal编程技术网

Ruby on rails RubyonRails从url中提取一个id,插入到图像标签(gsub?)

Ruby on rails RubyonRails从url中提取一个id,插入到图像标签(gsub?),ruby-on-rails,ruby-on-rails-3,twitter,gsub,twitpic,Ruby On Rails,Ruby On Rails 3,Twitter,Gsub,Twitpic,我有一个推特提要,在页面上显示我的推特。我也想包括我的twitpic图像的缩略图。我一直在使用gsub来替换文本,但我很难弄清楚语法 带有原始标记的典型“twitpic tweet”输出如下所示: This is a tweet with an image. http://twitpic.com/12345 然后图像的链接是 http://twitpic.com/show/thumb/12345.jpg 下面是显示文本的简单代码: <% @tweets.each do |tweet|

我有一个推特提要,在页面上显示我的推特。我也想包括我的twitpic图像的缩略图。我一直在使用gsub来替换文本,但我很难弄清楚语法

带有原始标记的典型“twitpic tweet”输出如下所示:

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?[^]+搜索*by,然后用原始html替换url中的所有内容,但如果我想链接图像,这并没有帮助

    如果我能提取twitpic id(http://twitpic.com/12345),我可以将12345放入一个助手方法,该方法输入一个字符串并将其插入链接图像


    如果有人能告诉我如何提取此id,我将不胜感激。

    如果您想从
    http://twitpic.com/show/thumb/12345.jpg
    然后尝试从中提取id:

    "http://twitpic.com/show/thumb/12345.jpg".scan(/^http:\/\/twitpic.com\/show\/thumb\/(\d+).jpg$/).flatten.first
    
    也许你可以用#split代替正则表达式

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

    也许不是最优雅的解决方案,但它工作得非常出色:]+/{link_to image_标记(“{tweet.text.split(“}”,:border=>0),“{tweet.text.split(“}”}}%>