2

次のように、Twitter から取得したテキストを含む文字列があるとします。

myString = "I like using @twitter, because I learn so many new things! [line break]
Read my blog: http://www.myblog.com #procrastination"

次に、ツイートがビューに表示されます。ただし、これに先立って、文字列を次のように変換したいと思います。

  1. @twitter リンク先はhttp://www.twitter.com/twitter
  2. URL はリンクに変換されます (URL はリンク テキストのままです)。
  3. #procrastination はhttps://twitter.com/i/#!/search/?q=%23procrastinationに変換され、#procrastination はリンク テキストです。

これを可能にする宝石がそこにあるに違いないと確信していますが、見つけることができません。私はtwitter-text-rbに出くわしましたが、それを上記に適用する方法がわかりません。私は正規表現と他のいくつかの方法を使用してPHPでそれを行いましたが、少し面倒です!

解決策をお寄せいただきありがとうございます。

4

2 に答える 2

10

twitter-text gem には、ほとんどすべての作業が含まれています。手動でインストールするか (必要に応じて sudo を使用)、バンドラーを使用している場合はgem install twitter-textGemfile に追加して実行します。gem 'twitter-text'bundle install

次に、クラスの先頭に Twitter 自動リンク ライブラリ ( require 'twitter-text'and ) を含め、入力文字列をパラメーターとしてinclude Twitter::Autolinkメソッドを呼び出すと、自動リンク バージョンが提供されます。auto_link(inputString)

完全なコード:

require 'twitter-text'
include Twitter::Autolink

myString = "I like using @twitter, because I learn so many new things! [line break] 
Read my blog: http://www.myblog.com #procrastination"

linkedString = auto_link(myString)

linkedString の内容を出力すると、次の出力が得られます。

I like using @<a class="tweet-url username" href="https://twitter.com/twitter" rel="nofollow">twitter</a>, because I learn so many new things! [line break] 
Read my blog: <a href="http://www.myblog.com" rel="nofollow">http://www.myblog.com</a> <a class="tweet-url hashtag" href="https://twitter.com/#!/search?q=%23procrastination" rel="nofollow" title="#procrastination">#procrastination</a>
于 2012-09-22T20:43:36.353 に答える
0

jQuery Tweet Linkifyを使う

@mention テキストを実際の Twitter プロフィールを指すハイパーリンクに変換し、#hashtag テキストを実際のハッシュタグ検索に変換し、ハイパーリンク テキストを実際のハイパーリンクに変換する小さな jQuery プラグイン

于 2012-11-09T18:42:13.637 に答える