0

我环顾四周,但我还没有真正找到适合我个人情况100% 达成交易的答案。

在我的 Ruby 应用程序中,我有一个用户共享系统,成员可以在其中发布“东西”。嗯,有时会员会发布链接,我注意到随着网站的发展,越来越多的用户抱怨没有可点击的链接。

我将如何利用正则表达式来匹配帖子中链接的 url。此外,我将如何在我的模型中应用它?

谢谢你的帮助,在我所有的问题中,这对我来说真的很重要哈!

编辑

我想我的初始化帖子太模糊了......

我更想弄清楚如何在我的模型中使用正则表达式,而不是使用哪个正则表达式。

型号为class Share。并且会员的帖子呈现为<%= share.content %>内容是我的共享表中的一列以及可访问的属性......

谢谢。

4

2 回答 2

2

尝试:

^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?

来自关于 URLS 的 IETF 规范。它匹配包括“ftp://...”在内的所有 URL,因此您可能需要对其进行一些调整。

于 2012-11-02T18:48:04.277 回答
1

自动链接会做到这一点。它被提取到它自己的宝石中......

https://github.com/tenderlove/rails_autolink

示例用法:

auto_link("Go to http://www.rubyonrails.org and say hello to david@loudthinking.com")
# => "Go to <a href=\"http://www.rubyonrails.org\">http://www.rubyonrails.org</a> and
#     say hello to <a href=\"mailto:david@loudthinking.com\">david@loudthinking.com</a>"
于 2012-11-02T16:14:58.927 回答