Ruby on Rails извлекает id из URL, вставляет в image_tag (gsub?) - PullRequest
0 голосов
/ 25 мая 2011

У меня есть твиттер, отображающий мои твиты на странице.Я хочу включить миниатюры моих 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/* по /http:\/\/twitpic.com?[^]+, а затем убрать все с помощью URL, заменив его необработанным HTML, но этоне помогает, если я хочу связать изображение.

Если бы я мог извлечь идентификатор twitpic (http://twitpic.com/12345),, я мог бы поместить этот 12345 во вспомогательный метод, который вводит строку и вставляет ее в связанное изображение.

Если бы кто-нибудь мог дать мне некоторое представление о том, как извлечь этот идентификатор, это было бы очень признательно.

Ответы [ 2 ]

1 голос
/ 25 мая 2011

Может быть, вы можете использовать #split вместо регулярных выражений?

"This is a tweet with an image. http://twitpic.com/12345".split("http://twitpic.com/")[1]
1 голос
/ 25 мая 2011

Если вы хотите извлечь идентификатор из http://twitpic.com/show/thumb/12345.jpg, попробуйте извлечь его из него:

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