所以我有一些包含链接的文本数据,现在在显示数据时将它们转换为锚点的正确方法是什么。
我看到的一种方式是像这样做raw(urlize(h(data)))
......
也许有更好的方法?
P.S。我不想用红布
答案 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