所以我有一些包含链接的文本数据,现在在显示该数据时将它们转换为锚点的正确方法是什么。
我看到的一种方法是这样做raw(urlize(h(data)))
……也许有更好的方法?
PS我不想用红布
所以我有一些包含链接的文本数据,现在在显示该数据时将它们转换为锚点的正确方法是什么。
我看到的一种方法是这样做raw(urlize(h(data)))
……也许有更好的方法?
PS我不想用红布
您可以编写一个方法来实现受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:
我们可以在这里使用 auto_link gem