テキスト中の自動リンク (簡易版)
URLっぽいやつ、メールアドレスっぽいやつがテキスト中にある場合に、自動でa要素を付加するメソッド。
# == 自動href def auto_href(s) uniform = '(https?|ftp|gopher):' mailto = 'mailto:' domain = '(([-a-zA-Z\d]+\.)+[a-zA-Z]+|\d+\.\d+\.\d+\.\d+)' port = '(:\d+)?' loc = '(/([-\w\.!~\*;\?:@&=\+$,%#/])*)?' url_pattern = '(' + uniform + '//' + domain + port + loc + ')' mail_pattern = '([-a-zA-Z\d.%]+@' + domain + ')' s.gsub(/#{url_pattern}/, '<a href="\1" target="_blank">\1</a>'). gsub(/#{mail_pattern}/, '<a href="' + mailto + '\1">\1</a>') end
いまどき、gopherなんていらんか。。。