1

在简单的消息传递系统中实现表情符号/笑脸的好方法是什么?我用红布作为一个有价值的解决方案出来了。

消息将保存在数据库中,例如 ;), :) ;( * 就像这里描述的那样,但这是旧的:http: //flip.netzbeben.de/2008/07/smilies-in-rails-using-redcloth/我尝试在安全等方面对该解决方案有任何评论吗?

更新:创建了一个辅助方法,这个方法有效

  def emoticons(text)

emoticons = { ":)" => "<img src='/assets/emoticons/smile.gif' class='emoticon'>",
              ":(" => "<img src='/assets/emoticons/cry.gif' class='emoticon'>"
            }

[emoticons.keys, emoticons.values].transpose.each do |search, replace|
  text.gsub!(search, replace)
end

return raw text

结尾

有什么办法可以进一步改善这一点?更换工作虽然

4

1 回答 1

1

这个

emoticons = {":)" => "[happy/]", ":(" => "[sad/]"}
text = "test :) :("
[emoticons.keys, emoticons.values].transpose.each do |search, replace|
  text.gsub!(search, replace)
end
p text

将输出

test [happy/] [sad/]

您可以使用gsub以获得 HTML 输出而不是伪 BB 代码

于 2012-02-28T09:10:27.140 回答