URLを自動判別して、Aタグのリンクにするメソッド
文字列にURLが含まれていた場合、自動的にリンクにしたいですよね。
require 'uri' def url2link_of_string(html_string,options={}) target=options[:target] || '_blank' URI.extract(html_string).each{|url| html_string.gsub!(url,"<a href='#{url}' target='#{target}'>#{url}</a>") } html_string end
使ってみる。オプションでtargetを取ることが出来る。
なんとデフォルトは_blankで。だって、こっちのほうが多用するでしょ。
html_string="テストテストhttp://foo.bar/show/1実験実験\n事件http://www.yahoo.co.jp実験" puts url2link_of_string(html_string,:target=>"_self")
結果は
テストテスト<a href='http://foo.bar/show/1' target='_self'>http://foo.bar/show/1</a>実験実験 事件<a href='http://www.yahoo.co.jp' target='_self'>http://www.yahoo.co.jp</a>実験
いい感じ。