如何让Textile用纯URL创建链接?

时间:2010-08-05 00:03:41

标签: ruby textile redcloth

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

我使用的是RedCloth的Ruby版本。

2 个答案:

答案 0 :(得分: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. 

答案 1 :(得分:1)

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