require "uri" def expand_string(str) %w(escape_html make_link make_twitter_mention make_hash_tag).each do |filter| str = __send__(filter, str) end str end def escape_html(str) %w(& & < < > > " " ' ').each_slice(2) do |raw, escaped| str.gsub!(raw, escaped) end str end def make_link(str) str.gsub(URI.regexp(%w(http https)), '<a href="\0">\0</a>') end def make_twitter_mention(str) str.gsub(/\W@\w+\W/) { $&.gsub(/(\w+)/, '<a href="http://twitter.com/\1">@\1</a>') } end def make_hash_tag(str) str.gsub(/\s#\w+\s/) { $&.gsub(/(\w+)/, '<a href="http://twitter.com/#search?q=%23\1">#\1</a>') } end
なにか忘れているとおもったらURIのfragmentだ!!!!!!!!!!!!#make_hash_tag をなおした。