0

私は周りを見回しましたが、個人の状況に合わせて取引を100%封印する答えは実際には見つかりませんでした。

私のRubyアプリには、メンバーが「もの」を投稿できるユーザー共有システムがあります。ええと、時々メンバーがリンクを投稿します、そして私はサイトが成長するにつれて、ますます多くのユーザーがクリック可能なリンクがないことについて不平を言っていることに気づきました。

正規表現を使用して、投稿内のリンクのURLを照合するにはどうすればよいですか。さらに、これをモデルにどのように適用しますか?

助けてくれてありがとう、私のすべての質問の中で、これは私にとって本当に重要なものですha!

編集

私の初期投稿は曖昧すぎたと思います...

使用する正規表現の代わりに、モデルに正規表現の使用を実装する方法を理解しようとしています。

モデルはclass Shareです。そして、メンバーの投稿は<%= share.content %>、コンテンツが私の共有テーブルの列であり、アクセス可能な属性であるかのようにレンダリングされます...

ありがとう。

4

2 に答える 2

2

試す:

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

URLに関する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 に答える