20seven

Devigner blog about development and design

Flickr-style Tag Splitting in Ruby

The Pug Automatic: Flickr Style Tagging in Rails

Someone asked on IRC for Ruby code to split tags Flickr style, e.g. getting the tags from tag1 tag2 'tag 3 has spaces' tag4.

I came up with this:

def parse_tags(string)
  string.split(/"(.+?)"|\s+/).reject {|s| s.empty? }
end

It even preserves tag order, which you wouldn’t get if you’d first gsub out (and store) quoted tags and then split the rest."

I haven’t tried it yet but looking at it looks like a fine implementation. Very simple.

[Via Pug Automatic.]