2

我的许多用户都在输入纯 URL,而不是使用 Textile 格式来创建链接。我希望 Textile 只是使 URL 可链接到 URL。我真的不需要担心 XSS 或任何恶意,因为它是一个只有极少数用户的内部网络。实现此功能的最佳方法是什么?

我正在使用 RedCloth 的 Ruby 版本。

4

2 回答 2

3

这个怎么样?

def urls2links( s )
  s.gsub(
    /([^:])((https?|ftp)\:\/\/[^\s)'"]+[^.,)\s])(. |, |[\s]|\) | )/, 
    '\1<a href="\2" target="_blank">\2</a>\4')
end

def textile2html( s )
  textilize(urls2links(s)).html_safe
end

使用此文本对其进行测试:

Plain urls converted to external links by my textile2html helper:
* http://www.google.com 
* http://www.google.com, 
* http://www.google.com. 
于 2012-10-10T11:27:35.267 回答
1

我不确定 RedCloth 是否可以将 URL 转换为可点击的链接,但是有一个名为auto_link的 Rails 文本助手可以。

于 2010-08-05T00:20:52.530 回答