Как я могу извлечь все URL / ссылки из электронного письма, используя Ruby on Rails?

#ruby-on-rails #ruby #ruby-on-rails-3

#ruby-on-rails #ruby #ruby-on-rails-3

Вопрос:

Я создаю сайт закладок. Я хочу извлечь все URI / ссылки из электронного письма. Мой сайт использует Ruby on Rails.

Как я могу извлечь все URL-адреса полученного содержимого электронной почты?

Ответ №1:

Встроенный модуль URI Ruby уже делает это:

Из extract документов:

 require "uri"

URI.extract("text here http://foo.example.org/bla and here mailto:test@example.com and here also.")
# => ["http://foo.example.com/bla", "mailto:test@example.com"]
  

Ответ №2:

 require 'uri'

text = %{"test
<a href="http://www.a.com/">http://www.a.com/</a>, and be sure
to check http://www.a.com/blog/. Email me at <a href="mailto:b@a.com">b@a.com</a>.}


END_CHARS = %{.,'?!:;}
p URI.extract(text, ['http']).collect { |u| END_CHARS.index(u[-1]) ? u.chop : u }
  

Источник: http://www.java2s.com/Code/Ruby/Network/ExtractURL.htm