2011-05-13 29 views
2

私はいくつかの文字列を持っています。例えば:URLへのリンクを抽出してURLに追加します。

var str = "I really love this site: http://www.stackoverflow.com" 

と私は、strはなりますので、それにリンクタグを追加する必要があります。

I really love this site: <a href="http://www.stackoverflow.com">http://www.stackoverflow.com</a> 
+2

ここで説明したようにactionpackを使用できます:http://stackoverflow.com/questions/1442143/ruby-link-for-urls-in-strings/1442382#1442382 – Mischa

+0

[URLと@ *をリンクにする](http://stackoverflow.com/questions/4571229/turn-urls-and-into-links) – Phrogz

答えて

3

一つの可能​​性は、それが解析をやらせるためにURI classを使用することです。この線に沿って何か:

require 'uri' 

str = "I really love this site: http://www.stackoverflow.com" 
url = str.slice(URI.regexp(['http'])) 
puts str.gsub(url, '<a href="' + url + '">' + url + '</a>') 
0

あなたはこのためにURI.extractを使用することができます。

str = "I really love this site: http://www.stackoverflow.com and also this one: http://www.google.com" 

URI.extract(str, ['http', 'https']).each do |uri| 
    str = str.gsub(uri, "<a href=\"#{uri}\">#{uri}</a>") 
end 

str 

以上も1つの文字列に複数のURLにマッチします。

関連する問題