在Rails中显示数据时将链接转换为锚点

时间:2010-11-23 19:21:40

标签: ruby-on-rails anchor hyperlink html-escape-characters

所以我有一些包含链接的文本数据,现在在显示数据时将它们转换为锚点的正确方法是什么。

我看到的一种方式是像这样做raw(urlize(h(data))) ...... 也许有更好的方法?

P.S。我不想用红布

2 个答案:

答案 0 :(得分:0)

您可以编写一个实现Daring Fireball启发链接匹配器的方法:

class String
  def urlify
    gsub(%r{\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))}u) do |s|
      %Q{<a href="#{s}">#{s}</a>}
    end.html_safe
  end
end

这会链接任何前缀为http://mailto:等正确协议的内容,但应注意跳过或删除javascript:个链接。

答案 1 :(得分:0)

我们可以使用auto_link gem here