什麼是一個好方法來「自動鏈接」@像在他們面前像Twitter一樣? 例如auto_link_user(「你好@馬特請發送文件[email protected]」)將返回 「你好@matt請發送文件[email protected]」紅寶石自動鏈接用戶名
我想正是這樣做的紅寶石http://www.ideone.com/aGklx
什麼是一個好方法來「自動鏈接」@像在他們面前像Twitter一樣? 例如auto_link_user(「你好@馬特請發送文件[email protected]」)將返回 「你好@matt請發送文件[email protected]」紅寶石自動鏈接用戶名
我想正是這樣做的紅寶石http://www.ideone.com/aGklx
str = "@foo, I'm @bar. My email is [email protected]"
r = /(^|\s)@([a-z0-9_]+)/i
str.gsub(r){|x| "#{$1}<a href=\"http://wwww.twitter.com/#{$2}\">@#{$2}<a/>"}
#=> "<a href=\"http://wwww.twitter.com/foo\">@foo<a/>, I'm <a href=\"http://wwww.twitter.com/bar\">@bar<a/>. My email is [email protected]"
如果你正在尋找直接鏈接到Twitter(從你的問題是不明確,如果這是你想要做的),那麼你應該看看他們的@anywhere API。
編輯:你可以的話,而不是紅寶石做,你要在客戶端的JavaScript做什麼:
<script type="text/javascript">
twttr.anywhere(function (T) {
T("#linkify-this-content").linkifyUsers();
});
</script>
這不正是你要找的,似乎,但它是一個選項。
與基本URL廣義含方式,
def append_urls str, base_url
str.gsub!(/(^|\s|\b)@([a-z0-9_]+)/i) do |word|
word = $2
"<a href='#{base_url}#{word}'>#{word}</a>"
end
end
這種方法添加到輔助之一,在視圖調用作爲
<%= append_urls(str_to_append_url,"www.twitter.com/") %>
@somename應指向嘰嘰喳喳或您的本地應用程序的用戶? – 2011-04-18 16:36:26
@Naren - 我們希望解決方案具有靈活性,類似於我發佈的鏈接,即http://www.ideone.com/aGklx – sthapit 2011-04-18 16:42:15