1

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

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

PS我不想用红布

4

2 回答 2

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:

于 2010-11-23T19:36:27.250 回答
0

我们可以在这里使用 auto_link gem

于 2012-10-15T18:55:22.190 回答