private Method

TextHelper.auto_link_email_addresses(text) { |text| ... }

Turns all email addresses into clickable links. If a block is given, each email is yielded and the result is used as the link text.

Source Code

# File action_view/helpers/text_helper.rb, line 496
def auto_link_email_addresses(text)
  body = text.dup
  text.gsub(/([\w\.!#\$%\-+.]+@[A-Za-z0-9\-]+(\.[A-Za-z0-9\-]+)+)/) do
    text = $1

    if body.match(/<a\b[^>]*>(.*)(#{Regexp.escape(text)})(.*)<\/a>/)
      text
    else
      display_text = (block_given?) ? yield(text) : text
      %{<a href="mailto:#{text}">#{display_text}</a>}
    end
  end
end
Comments

Have your say
Please use Textile formatting (click here for a cheat sheet). Use <code/> and <pre/> for code samples.
Click here to login with OpenID to to post comments.