我的许多用户都使用普通网址输入,而不是使用Textile格式来创建链接。我希望Textile能够将URL链接到URL。我真的不需要担心XSS或任何恶意的东西,因为它是一个内部网络,只有很少的用户群。什么是实现此功能的最佳方式?
我使用的是RedCloth的Ruby版本。
答案 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文本助手可以。