什么是一个好方法来“自动链接”@像在他们面前像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